(function(t) {
    function e(e) {
        for (var o, r, s = e[0], c = e[1], u = e[2], d = 0, m = []; d < s.length; d++) r = s[d],
        Object.prototype.hasOwnProperty.call(i, r) && i[r] && m.push(i[r][0]),
        i[r] = 0;
        for (o in c) Object.prototype.hasOwnProperty.call(c, o) && (t[o] = c[o]);
        l && l(e);
        while (m.length) m.shift()();
        return a.push.apply(a, u || []),
        n()
    }
    function n() {
        for (var t, e = 0; e < a.length; e++) {
            for (var n = a[e], o = !0, s = 1; s < n.length; s++) {
                var c = n[s];
                0 !== i[c] && (o = !1)
            }
            o && (a.splice(e--, 1), t = r(r.s = n[0]))
        }
        return t
    }
    var o = {},
    i = {
        "buy/seckill": 0
    },
    a = [];
    function r(e) {
        if (o[e]) return o[e].exports;
        var n = o[e] = {
            i: e,
            l: !1,
            exports: {}
        };
        return t[e].call(n.exports, n, n.exports, r),
        n.l = !0,
        n.exports
    }
    r.m = t,
    r.c = o,
    r.d = function(t, e, n) {
        r.o(t, e) || Object.defineProperty(t, e, {
            enumerable: !0,
            get: n
        })
    },
    r.r = function(t) {
        "undefined" !== typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
            value: "Module"
        }),
        Object.defineProperty(t, "__esModule", {
            value: !0
        })
    },
    r.t = function(t, e) {
        if (1 & e && (t = r(t)), 8 & e) return t;
        if (4 & e && "object" === typeof t && t && t.__esModule) return t;
        var n = Object.create(null);
        if (r.r(n), Object.defineProperty(n, "default", {
            enumerable: !0,
            value: t
        }), 2 & e && "string" != typeof t) for (var o in t) r.d(n, o,
        function(e) {
            return t[e]
        }.bind(null, o));
        return n
    },
    r.n = function(t) {
        var e = t && t.__esModule ?
        function() {
            return t["default"]
        }: function() {
            return t
        };
        return r.d(e, "a", e),
        e 
    },
    r.o = function(t, e) {
        return Object.prototype.hasOwnProperty.call(t, e)
    },
    r.p = "//s02.mifile.cn/assets/";
    var s = window["webpackJsonp"] = window["webpackJsonp"] || [],
    c = s.push.bind(s);
    s.push = e,
    s = s.slice();
    for (var u = 0; u < s.length; u++) e(s[u]);
    var l = c;
    a.push([14, "chunk-vendors"]),
    n()
})({
    "0128": function(t, e, n) {
        "use strict";
        var o = n("9302");
        function i(t, e) {
            1 === t.nodeType && (Object(o["a"])(t, e) || (t.className += " " + e))
        }
        e["a"] = i
    },
    "0542": function(t, e, n) {},
    "08a2": function(t, e, n) {
        "use strict";
        Date.prototype.Format = function(t) {
            var e = {
                "M+": this.getMonth() + 1,
                "d+": this.getDate(),
                "h+": this.getHours(),
                "m+": this.getMinutes(),
                "s+": this.getSeconds(),
                "q+": Math.floor((this.getMonth() + 3) / 3),
                S: this.getMilliseconds()
            };
            for (var n in /(y+)/.test(t) && (t = t.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))), e) new RegExp("(" + n + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? e[n] : ("00" + e[n]).substr(("" + e[n]).length)));
            return t
        };
        var o = function(t, e) {
            var n = t;
            return "string" == typeof n && (n = parseInt(n, 10)),
            "number" == typeof n && (n < 1e11 && (n *= 1e3), n = new Date(n)),
            n.Format(e)
        };
        e["a"] = {
            formateTime: o
        }
    },
    "0999": function(t, e, n) {},
    14 : function(t, e, n) {
        t.exports = n("5bf9")
    },
    "1b9e": function(t, e, n) {
        "use strict";
        n("744f"),
        n("6c7b"),
        n("7514"),
        n("20d6"),
        n("1c4c"),
        n("6762"),
        n("cadf"),
        n("e804"),
        n("55dd"),
        n("d04f"),
        n("c8ce"),
        n("87b3"),
        n("217b"),
        n("7f7f"),
        n("f400"),
        n("7f25"),
        n("536b"),
        n("d9ab"),
        n("f9ab"),
        n("32d7"),
        n("25c9"),
        n("9f3c"),
        n("042e"),
        n("c7c6"),
        n("f4ff"),
        n("049f"),
        n("7872"),
        n("a69f"),
        n("0b21"),
        n("6c1a"),
        n("c7c62"),
        n("84b4"),
        n("c5f6"),
        n("2e37"),
        n("fca0"),
        n("7cdf"),
        n("ee1d"),
        n("b1b1"),
        n("87f3"),
        n("9278"),
        n("5df2"),
        n("04ff"),
        n("f751"),
        n("4504"),
        n("fee7"),
        n("ffc1"),
        n("0d6d"),
        n("9986"),
        n("8e6e"),
        n("25db"),
        n("e4f7"),
        n("b9a1"),
        n("64d5"),
        n("9aea"),
        n("db97"),
        n("66c8"),
        n("57f0"),
        n("165b"),
        n("456d"),
        n("cf6a"),
        n("fd24"),
        n("8615"),
        n("551c"),
        n("097d"),
        n("df1b"),
        n("2397"),
        n("88ca"),
        n("ba16"),
        n("d185"),
        n("ebde"),
        n("2d34"),
        n("f6b3"),
        n("2251"),
        n("c698"),
        n("a19f"),
        n("9253"),
        n("9275"),
        n("3b2b"),
        n("3846"),
        n("4917"),
        n("a481"),
        n("28a5"),
        n("386d"),
        n("6b54"),
        n("4f7f"),
        n("8a81"),
        n("ac4d"),
        n("8449"),
        n("9c86"),
        n("fa83"),
        n("48c0"),
        n("a032"),
        n("aef6"),
        n("d263"),
        n("6c37"),
        n("9ec8"),
        n("5695"),
        n("2fdb"),
        n("d0b0"),
        n("5df3"),
        n("b54a"),
        n("f576"),
        n("ed50"),
        n("788d"),
        n("14b9"),
        n("f386"),
        n("f559"),
        n("1448"),
        n("673e"),
        n("242a"),
        n("c66f"),
        n("262f"),
        n("b05c"),
        n("34ef"),
        n("6aa2"),
        n("15ac"),
        n("af56"),
        n("b6e4"),
        n("9c29"),
        n("63d9"),
        n("4dda"),
        n("10ad"),
        n("c02b"),
        n("4795"),
        n("130f"),
        n("ac6a"),
        n("96cf");
        var o = function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return n("transition", {
                attrs: {
                    name: "dialog-fade"
                },
                on: {
                    "after-enter": t.opened,
                    "after-leave": t.closed
                }
            },
            [t.visible ? n("mi-popup", {
                on: {
                    "popup-mask-click": t.clickMask
                }
            },
            [n("div", {
                ref: "J_MI_DIALOG",
                staticClass: "mi-dialog__wrapper",
                class: t.dialogClass,
                style: {
                    width: t.width
                }
            },
            [n("div", {
                staticClass: "mi-dialog",
                attrs: {
                    "aria-modal": "true"
                }
            },
            [[t.isHideHeader ? t._e() : n("div", {
                staticClass: "mi-dialog__header"
            },
            [n("span", {
                staticClass: "mi-dialog__title"
            },
            [t._v(t._s(t.title))])]), n("a", {
                staticClass: "mi-dialog__headerbtn",
                class: {
                    "no-header": t.isHideHeader
                },
                on: {
                    click: t.close
                }
            },
            [n("i", {
                staticClass: "mi-dialog__close iconfont"
            },
            [t._v("")])])], n("div", {
                staticClass: "mi-dialog__body",
                class: {
                    "no-header": t.isHideHeader
                }
            },
            [n("div", {
                ref: "J_MI_DIALOG__BODY",
                staticClass: "mi-dialog__inner",
                attrs: {
                    id: "J_aaa"
                }
            })]), "confirm" === t.type ? n("div", {
                staticClass: "el-dialog__footer"
            },
            [n("button", {
                staticClass: "btn btn-primary",
                on: {
                    click: t.ok
                }
            },
            [t._v(t._s(t.okText))]), n("button", {
                staticClass: "btn btn-gray",
                on: {
                    click: t.close
                }
            },
            [t._v(t._s(t.cancelText))])]) : t._e(), "alert" === t.type ? n("div", {
                staticClass: "el-dialog__footer"
            },
            [n("button", {
                staticClass: "btn btn-primary",
                on: {
                    click: t.close
                }
            },
            [t._v(t._s(t.okText))])]) : t._e(), "confirmation" === t.type ? n("div", {
                staticClass: "el-dialog__footer"
            },
            [n("button", {
                staticClass: "btn btn-primary",
                on: {
                    click: t.ok
                }
            },
            [t._v(t._s(t.okText))]), n("button", {
                staticClass: "btn btn-gray",
                on: {
                    click: t.cancel
                }
            },
            [t._v(t._s(t.cancelText))])]) : t._e(), "verify" === t.type ? n("div", {
                staticClass: "el-dialog__footer"
            },
            [n("button", {
                staticClass: "btn btn-primary",
                on: {
                    click: t.ok
                }
            },
            [t._v(t._s(t.okText))])]) : t._e()], 2)])]) : t._e()], 1)
        },
        i = [],
        a = n("87aa"),
        r = {
            name: "MiDialog",
            components: {
                MiPopup: a["a"]
            },
            data: function() {
                return {
                    visible: !1,
                    type: "plain",
                    title: "",
                    width: "800px",
                    isHideHeader: !1,
                    dialogClass: "",
                    contentData: "",
                    okText: "确定",
                    cancelText: "取消"
                }
            },
            created: function() {},
            methods: {
                open: function() {
                    this.visible = !0,
                    this.$emit("open")
                },
                opened: function(t) {
                    this.$emit("opened", t)
                },
                close: function(t) {
                    this.visible = !1,
                    this.$emit("close", t)
                },
                closed: function() {
                    this.$emit("closed")
                },
                clickMask: function() {
                    this.$emit("mi-popup-mask-click")
                },
                ok: function(t) {
                    this.$emit("ok", t)
                },
                cancel: function(t) {
                    this.$emit("cancel", t)
                }
            }
        },
        s = r,
        c = (n("d4c3"), n("2877")),
        u = Object(c["a"])(s, o, i, !1, null, "54b15c30", null),
        l = u.exports,
        d = {},
        m = null;
        d.install = function(t) {
            t.component(l.name, l);
            var e = new t(l).$mount();
            document.body.appendChild(e.$el),
            t.prototype.$dialog = function() {
                var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                e.type = n.type || "plain",
                e.title = n.title || "",
                e.dialogClass = n.dialogClass || "",
                e.isHideHeader = n.isHideHeader,
                e.contentData = n.contentData,
                e.width = n.width || "800px",
                e.cancelText = n.cancelText || "取消",
                e.okText = n.okText || "确定";
                var o = t.extend({
                    name: "dia-content",
                    template: '<div class="mi-dialog__inner">'.concat(n.content, "</div>"),
                    data: function() {
                        return e.$data
                    },
                    components: n.components || {}
                }),
                i = function() {
                    e.$off("opened"),
                    e.$off("closed"),
                    e.$off("open"),
                    e.$off("close"),
                    e.$off("mi-popup-mask-click"),
                    e.$off("ok"),
                    e.$off("cancel"),
                    m && m.$destroy && (m.$destroy(), m = null)
                },
                a = function() {
                    i(),
                    e.$on("opened", (function() {
                        n.opened && n.opened(m)
                    })),
                    e.$on("closed", (function() {
                        n.closed && n.closed()
                    })),
                    e.$on("open", (function() {
                        n.open && n.open()
                    })),
                    e.$on("close", (function() {
                        n.close && n.close(m)
                    })),
                    e.$on("mi-popup-mask-click", (function() {
                        n.clickMask && n.clickMask()
                    })),
                    e.$off("ok").$on("ok", (function() {
                        n.ok && n.ok(m)
                    })),
                    e.$off("cancel").$on("cancel", (function() {
                        n.cancel && n.cancel(m)
                    })),
                    e.open(),
                    e.$nextTick((function() {
                        m = (new o).$mount(e.$refs.J_MI_DIALOG__BODY)
                    }))
                },
                r = function() {
                    e.close()
                };
                return a(),
                {
                    hide: r,
                    show: a,
                    destroy: i,
                    open: a
                }
            }
        };
        var f = d,
        p = n("a026"),
        h = n("caf9"),
        g = n("a417"),
        v = n("efd9");
        function b(t, e) {
            var n = Object.keys(t);
            if (Object.getOwnPropertySymbols) {
                var o = Object.getOwnPropertySymbols(t);
                e && (o = o.filter((function(e) {
                    return Object.getOwnPropertyDescriptor(t, e).enumerable
                }))),
                n.push.apply(n, o)
            }
            return n
        }
        function w(t) {
            for (var e = 1; e < arguments.length; e++) {
                var n = null != arguments[e] ? arguments[e] : {};
                e % 2 ? b(Object(n), !0).forEach((function(e) {
                    y(t, e, n[e])
                })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : b(Object(n)).forEach((function(e) {
                    Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(n, e))
                }))
            }
            return t
        }
        function y(t, e, n) {
            return e in t ? Object.defineProperty(t, e, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : t[e] = n,
            t
        }
        var _ = !1;
        function C() {
            var t = !(!document.all || window.atob);
            t && (window.location.href = g["a"].host.wwwSite + "/updateBrowser/index.html")
        }
        function x() {
            if (!_) {
                var t = n("5921"),
                e = n("4c6c"),
                o = e.Vue;
                t.init({
                    dsn: {
                        dsn: "https://07a50be497014267bd0e41ff892c5b4f@sentry.d.xiaomi.net/115",
                        sourceMapVerson: "cb6deb7d346edbc2a9cf7df6b5552cf3c14e9aa5"
                    }.dsn,
                    integrations: [new o({
                        Vue: p["a"],
                        attachProps: !0
                    })],
                    logErrors: !0,
                    release: {
                        dsn: "https://07a50be497014267bd0e41ff892c5b4f@sentry.d.xiaomi.net/115",
                        sourceMapVerson: "cb6deb7d346edbc2a9cf7df6b5552cf3c14e9aa5"
                    }.sourceMapVerson,
                    environment: "production",
                    tracesSampleRate: .3
                })
            }
        }
        function S() {
            "NodeList" in window && !NodeList.prototype.forEach && (NodeList.prototype.forEach = function(t, e) {
                e = e || window;
                for (var n = 0; n < this.length; n++) t.call(e, this[n], n, this)
            }),
            Element.prototype.matches || (Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector ||
            function(t) {
                var e = (this.document || this.ownerDocument).querySelectorAll(t),
                n = e.length;
                while (--n >= 0 && e.item(n) !== this);
                return n > -1
            })
        }
        function D() {
            C(),
            p["a"].use(f),
            p["a"].use(h["a"], {
                filter: {
                    httpFormat: function(t, e) {
                        t.src && (t.src = t.src.replace(/^http(s?):/i, ""))
                    }
                },
                attempt: 1
            }),
            p["a"].mixin({
                methods: w({},
                v["a"])
            }),
            S(),
            x()
        }
        D()
    },
    "1bbb": function(t, e, n) {},
    2166 : function(t, e, n) {
        "use strict";
        var o = n("7f19"),
        i = n("a417");
        e["a"] = {
            add: function(t, e) {
                return Object(o["a"])(i["a"].host.orderApi + "/cart/add/" + t.gid, t, e)
            },
            multiAddCart: function(t, e) {
                return Object(o["a"])(i["a"].host.orderApi + "/cart/multiadd", t, e)
            },
            delete: function(t, e) {
                return Object(o["a"])(i["a"].host.orderApi + "/cart/delete/" + t.gid, t, e)
            },
            getMiniCartList: function(t, e) {
                return Object(o["a"])(i["a"].host.orderApi + "/cart/miniNew", t, e)
            }
        }
    },
    2907 : function(t, e, n) {
        "use strict";
        var o = function(t) {
            return new Promise((function(e, n) {
                var o = document.getElementsByTagName("body")[0],
                i = document.createElement("script");
                i.type = "text/javascript",
                i.async = "async",
                i.onreadystatechange = function() {
                    "complete" == this.readyState && e()
                },
                i.onload = function() {
                    e()
                },
                n && (i.onerror = function() {
                    n()
                }),
                i.src = t,
                o.appendChild(i)
            }))
        },
        i = function(t) {
            window.servertime ? t(window.servertime) : o("//time.hd.mi.com/gettimestamp").then((function() {
                window.servertime && "number" === typeof window.servertime ? (window.servertime = window.servertime, window.diffTime = window.servertime - parseInt((new Date).getTime() / 1e3)) : window.servertime = parseInt((new Date).getTime() / 1e3),
                "function" === typeof t && t(window.servertime)
            }), (function() {
                "function" === typeof t && t(window.servertime),
                window.servertime = parseInt((new Date).getTime() / 1e3)
            }))
        };
        e["a"] = i
    },
    "2ec8": function(t, e, n) {
        "use strict";
        function o(t, e, n) {
            if (arguments.length > 1 && "[object Object]" !== String(e)) {
                if (n = Object.assign({},
                n), null !== e && void 0 !== e || (n.expires = -1), "number" === typeof n.expires) {
                    var o = n.expires,
                    i = n.expires = new Date;
                    i.setDate(i.getDate() + o)
                }
                return e = String(e),
                document.cookie = [encodeURIComponent(t), "=", n.raw ? e: encodeURIComponent(e), n.expires ? "; expires=" + n.expires.toUTCString() : "", n.path ? "; path=" + n.path: "", n.domain ? "; domain=" + n.domain: "", n.secure ? "; secure": ""].join("")
            }
            var a;
            n = e || {};
            var r = n.raw ?
            function(t) {
                return t
            }: decodeURIComponent;
            return (a = new RegExp("(?:^|; )" + encodeURIComponent(t) + "=([^;]*)").exec(document.cookie)) ? r(a[1]) : null
        }
        e["a"] = o
    },
    "2f0b": function(t, e, n) {
        "use strict";
        n("1bbb")
    },
    "30c4": function(t, e, n) {},
    "314b": function(t, e, n) {
        "use strict";
        var o = function(t) {
            var e, n, o = /[^<>]+|<(\/?)([A-Za-z0-9]+)([^<>]*)>/g,
            i = [];
            while (e = o.exec(t)) {
                var a = [];
                for (n = 0; n < e.length; n += 1) a.push(e[n]);
                i.push(a)
            }
            return i
        };
        function i(t) {
            return i = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ?
            function(t) {
                return typeof t
            }: function(t) {
                return t && "function" === typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol": typeof t
            },
            i(t)
        }
        var a = /([a-z\d-]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^\s]+)))?/gi,
        r = /^on([a-z\d-]*)$/i,
        s = /&#(x?)([a-z\d]*);?/gi,
        c = /(javascript|vbscript|expression|applet)/i,
        u = /^(audio|video|html|object|embed|param|body|head|form|script|iframe|expression|applet|meta|xml|blink|style|frame|frameset|ilayer|layer|bgsound|title|base)$/i,
        l = function(t) {
            return t.replace(a, (function(t, e, n) {
                var o = t.replace(s, (function() {
                    var t = arguments[1],
                    e = arguments[2];
                    return String.fromCharCode(t ? parseInt(e, 16) : e)
                })).replace(/(\s|%20)/g, "");
                return c.test(o) || r.test(e) ? "": t
            }))
        },
        d = function(t) {
            var e = t[0],
            n = t[1],
            o = t[2],
            i = t[3];
            return u.test(o) ? "": o && i ? n ? ["</", o, ">"].join("") : ["<", o, " ", l(i), ">"].join("") : e
        },
        m = function(t, e) {
            for (var n = [], o = 0, i = t.length; o < i; o += 1) {
                var a = e(t[o], o);
                if (!1 === a) break;
                null !== a && (n[o] = a)
            }
            return n
        },
        f = function(t, e) {
            var n = {};
            for (var o in t) {
                var i = e(t[o], o);
                if (!1 === i) break;
                null !== i && (n[o] = i)
            }
            return n
        },
        p = function(t, e) {
            return Array.isArray(t) || t.length && void 0 !== t[0] ? m(t, e) : "object" === i(t) ? f(t, e) : null
        };
        e["a"] = function(t) {
            var e = o(t);
            return e = p(e, d),
            e.join("")
        }
    },
    "31bc": function(t, e, n) {
        "use strict";
        n.r(e);
        n("0999");
        var o = n("91bf"),
        i = n("7f19"),
        a = n("a417"),
        r = {
            getPrice: function(t, e) {
                return Object(i["a"])(a["a"].host.hdaSite + "/postfree/postfree", t, e)
            },
            getSafeAuth: function(t, e) {
                return Object(i["a"])(a["a"].host.serviceApi + "/footer/safe_auth", t, e)
            }
        },
        s = n("2907"),
        c = n("0128"),
        u = n("9f77");
        function l(t) {
            return p(t) || f(t) || m(t) || d()
        }
        function d() {
            throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
        }
        function m(t, e) {
            if (t) {
                if ("string" === typeof t) return h(t, e);
                var n = Object.prototype.toString.call(t).slice(8, -1);
                return "Object" === n && t.constructor && (n = t.constructor.name),
                "Map" === n || "Set" === n ? Array.from(t) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? h(t, e) : void 0
            }
        }
        function f(t) {
            if ("undefined" !== typeof Symbol && Symbol.iterator in Object(t)) return Array.from(t)
        }
        function p(t) {
            if (Array.isArray(t)) return h(t)
        }
        function h(t, e) { (null == e || e > t.length) && (e = t.length);
            for (var n = 0,
            o = new Array(e); n < e; n++) o[n] = t[n];
            return o
        }
        e["default"] = function(t, e) {
            var n = {
                Dom: {},
                objs: {},
                safeAuthTime: null,
                domEvtFuns: {
                    weixinDialog: function() {
                        t.$dialog({
                            title: "小米手机官方微信二维码",
                            width: "720px",
                            dialogClass: "site-weixin-dia",
                            content: '<img alt="" src="//i1.mifile.cn/f/i/17/site/weixin.jpg" width="680" height="340">'
                        })
                    },
                    contactDialog: function() {
                        var e = this.getAttribute("product_id"),
                        n = this.getAttribute("gid"),
                        o = {
                            pids: e,
                            gids: n
                        };
                        t.showContact(o)
                    },
                    resetPrice: function(t, e) {
                        t >= e.data.start_time && t <= e.data.end_time && (n.Dom.$footerPrice.innerHTML = "满".concat(e.data.price, "包邮").concat(e.data.cart_info ? e.data.cart_info: ""))
                    },
                    getPrice: function() {
                        r.getPrice().then((function(t) {
                            t && 0 === t.code && t.data && Object(s["a"])((function(e) {
                                n.domEvtFuns.resetPrice(e, t)
                            }))
                        }))
                    }
                }
            },
            i = function() {
                if (!e) throw "args el is needed."
            },
            a = function() {
                n.Dom.$weixin = e.querySelector("#J_siteWeixinCode"),
                n.Dom.$weixinSub = document.querySelectorAll('[data-show-weixin="true"]'),
                n.Dom.$weixinDom = e.querySelector("#J_followWx"),
                n.Dom.$weixinImg = e.querySelector("#J_followWxImg"),
                n.Dom.$contactBtn = document.getElementsByClassName("J_contactBtn"),
                n.Dom.$footerPrice = document.getElementById("J_footerPrice"),
                n.Dom.$footerPrice && n.domEvtFuns.getPrice()
            },
            d = function() {
                r.getSafeAuth().then((function(t) {
                    if (t && 200 === t.code && t.data) {
                        var e = t.data;
                        if (n.Dom.$footer = document.getElementsByClassName("site-info"), n.Dom.$footer && n.Dom.$footer.length > 0 && (n.Dom.$linksBox = n.Dom.$footer[0].getElementsByClassName("info-links"), n.Dom.$linksBox && n.Dom.$linksBox.length > 0)) {
                            var o = '<a rel="nofollow" href="'.concat(e.click_url ? e.click_url: "javascript:void(0)", '" class="safe-auth J_safeAuth"><img rel="nofollow" src="').concat(e.first_image, '" class="img1"><img rel="nofollow" src="').concat(e.second_image, '" class="img2"></a>');
                            n.Dom.$linksBox[0].innerHTML += o;
                            var i = n.Dom.$footer[0].getElementsByClassName("J_safeAuth")[0],
                            a = 1;
                            n.safeAuthTime = setInterval((function() {
                                a++,
                                a % 2 == 0 ? Object(c["a"])(i, "active") : Object(u["a"])(i, "active")
                            }), 3e3)
                        }
                    }
                }))
            },
            m = function() {
                o["a"].addEvt(n.Dom.$weixin, "click", n.domEvtFuns.weixinDialog),
                l(n.Dom.$weixinSub).length && l(n.Dom.$weixinSub).forEach((function(t) {
                    o["a"].addEvt(t, "click", n.domEvtFuns.weixinDialog)
                })),
                o["a"].addEvt(n.Dom.$weixinDom, "click", (function() {
                    n.Dom.$weixinImg.style.display = "block"
                })),
                o["a"].addEvt(n.Dom.$weixinDom, "mouseenter", (function() {
                    n.Dom.$weixinImg.style.display = "block"
                })),
                o["a"].addEvt(n.Dom.$weixinDom, "mouseleave", (function() {
                    n.Dom.$weixinImg.style.display = "none"
                })),
                l(n.Dom.$contactBtn).length && l(n.Dom.$contactBtn).forEach((function(t) {
                    o["a"].addEvt(t, "click", n.domEvtFuns.contactDialog)
                }))
            },
            f = function() {
                if (n) {
                    for (var t in n.safeAuthTime && clearInterval(n.safeAuthTime), n.objs) {
                        var e = n.objs[t];
                        e && e.destroy && e.destroy()
                    }
                    n = null
                }
            },
            p = function() {
                i(),
                a(),
                d(),
                m()
            };
            return p(),
            {
                destroy: f
            }
        }
    },
    "341d": function(t, e, n) {},
    "3bf3": function(t, e, n) {},
    "3c4d": function(t, e, n) {},
    4703 : function(t, e, n) {
        "use strict";
        var o = n("7f19"),
        i = n("a417"),
        a = n("efd9"),
        r = {
            setProxy: function() {
                a["a"].setProxy({
                    url: i["a"].host.orderProxy,
                    name: "_product"
                })
            },
            getHdInfo: function(t) {
                return Object(o["a"])(i["a"].host.hdInfo, t, {
                    param: "jsonpcallback",
                    name: "hdinfo"
                })
            },
            getHdGet: function(t) {
                return Object(o["a"])(i["a"].host.hdGet, t, {
                    param: "jsonpcallback",
                    name: "cn".concat(t.product)
                })
            }
        },
        s = r,
        c = function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return n("div", {
                staticClass: "big-soldout-box"
            },
            [t.soldoutData ? n("div", {
                staticClass: "content clearfix"
            },
            [n("span", {
                staticClass: "mitu"
            }), n("p", {
                staticClass: "title",
                domProps: {
                    innerHTML: t._s(t.soldoutData.title)
                }
            }), n("p", {
                staticClass: "desc",
                domProps: {
                    innerHTML: t._s(t.soldoutData.desc)
                }
            })]) : t._e(), t.recommendProduct && t.recommendProduct.product_lists && t.recommendProduct.product_lists.length > 0 ? n("div", {
                staticClass: "bigtap-recomment-goods"
            },
            [n("div", {
                staticClass: "recomment-title"
            },
            [t._v("这些产品也不错，而且有现货哦")]), n("ul", {
                staticClass: "clearfix"
            },
            t._l(t.recommendProduct.product_lists, (function(e) {
                return n("li", [n("a", {
                    staticClass: "pic",
                    attrs: {
                        href: "/buy/detail/" + e.product_id + ".html?form=bigtap"
                    }
                },
                [n("img", {
                    attrs: {
                        src: e.img,
                        alt: e.name
                    }
                })]), n("div", {
                    staticClass: "info"
                },
                [n("h3", {
                    staticClass: "title"
                },
                [t._v(t._s(e.name))]), n("p", {
                    staticClass: "desc"
                },
                [t._v(t._s(e.desc))]), n("a", {
                    staticClass: "link",
                    attrs: {
                        href: "/buy/detail/" + e.product_id + ".html?form=bigtap"
                    }
                },
                [t._v("立即购买>")])])])
            })), 0)]) : t._e()])
        },
        u = [],
        l = {
            name: "bigtap-soldout",
            props: ["soldoutData", "recommendProduct"],
            data: function() {
                return {}
            },
            methods: {},
            created: function() {}
        },
        d = l,
        m = n("2877"),
        f = Object(m["a"])(d, c, u, !1, null, null, null),
        p = f.exports,
        h = function() {
            var t = this,
            e = t.$createElement;
            t._self._c;
            return t._m(0)
        },
        g = [function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return n("div", {
                attrs: {
                    id: "J_bigtapQueue"
                }
            },
            [n("span", {
                staticClass: "close"
            },
            [t._v("退出排队")]), n("div", {
                staticClass: "text-box"
            },
            [n("div", {
                staticClass: "title"
            },
            [t._v("正在排队，请稍候喔！")]), n("div", {
                staticClass: "queue-tip-box"
            },
            [n("p", {
                staticClass: "queue-item active"
            },
            [t._v("当前人数较多，请您耐心等待，排队期间请不要关闭页面。")]), n("p", {
                staticClass: "queue-item"
            },
            [t._v("时常来官网看看，最新产品和活动信息都会在这里发布。")]), n("p", {
                staticClass: "queue-item"
            },
            [t._v("下载小米商城 App 玩玩吧！产品开售信息抢先知道。")]), n("p", {
                staticClass: "queue-item"
            },
            [t._v("发现了让你眼前一亮的小米产品，别忘了分享给朋友！")]), n("p", {
                staticClass: "queue-item"
            },
            [t._v("产品开售前会有预售信息，关注官网首页就不会错过。")])])]), n("div", {
                staticClass: "queue-posters"
            },
            [n("div", {
                staticClass: "poster poster-1 active"
            }), n("div", {
                staticClass: "poster poster-2"
            }), n("div", {
                staticClass: "poster poster-3"
            }), n("div", {
                staticClass: "poster poster-4"
            }), n("div", {
                staticClass: "poster poster-5"
            })])])
        }],
        v = {
            name: "bigtap-queue",
            data: function() {
                return {}
            },
            methods: {},
            created: function() {}
        },
        b = v,
        w = Object(m["a"])(b, h, g, !1, null, null, null),
        y = w.exports,
        _ = n("986e"),
        C = n("91bf"),
        x = n("0128"),
        S = n("9f77"),
        D = n("eb0e");
        function k(t, e, n) {
            return e in t ? Object.defineProperty(t, e, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : t[e] = n,
            t
        }
        var $ = null,
        L = null,
        T = null,
        j = null,
        O = null,
        E = {
            queue: !1,
            jssignUrl: "",
            salt: ""
        },
        I = null,
        M = function(t) {
            if (t) {
                var e = {
                    m: 1,
                    source: t.source || "bigtap",
                    storage: t.storage || ""
                };
                return t.address && (e.ap = t.address.province_id, e.ac = t.address.city_id, e.ad = t.address.district_id, e.aa = t.address.area_id),
                t.start && (e.start = t.start),
                new Promise((function(t, n) {
                    s.getHdInfo(e).then((function(e) {
                        t && t(e)
                    }), (function(t) {
                        n && n(t)
                    }))
                }))
            }
        },
        A = function t(e) {
            if (e) return new Promise((function(n, o) {
                if (e) {
                    var r = k({
                        m: 1,
                        product: e.product,
                        source: e.source || "bigtap",
                        storage: e.storage || "",
                        addcart: 1
                    },
                    "m", 1),
                    c = e.product;
                    e.child_goods && (r.child_goods = e.child_goods),
                    e.address && (r.ap = e.address.province_id, r.ac = e.address.city_id, r.ad = e.address.district_id, r.aa = e.address.area_id),
                    M(e).then((function(u) {
                        u ? (E.salt = u.status[c] ? u.status[c].salt: "", I = Object.assign({},
                        r, {
                            salt: E.salt
                        }), s.getHdGet(I).then((function(s) {
                            var u = s.status;
                            if (!1 === s.login) location.href = i["a"].host.orderLogin;
                            else if (u[c].hdstatus >= 3) F(),
                            q(u[c].tips, e.recommendProduct),
                            n && n(u[c]);
                            else if (u[c].hdurl) {
                                F();
                                var l = {
                                    gid: c,
                                    source: r.source,
                                    token: u[c].hdurl
                                };
                                e.child_goods && (l.itemId = e.child_goods),
                                e.extend_field && (l.extend_field = JSON.stringify(e.extend_field)),
                                e.addCartSource && (l.source = e.addCartSource),
                                D["a"].addCart(l).then((function(t) {
                                    n && n(t)
                                }), (function(t) {
                                    o && o(t)
                                }))
                            } else "flashsale_bigtap" !== r.source && "flashsale_preferred" != r.source || !u[c].max ? ($ || N(), j && clearTimeout(j), j = setTimeout((function() {
                                t(e)
                            }), s.d22a51 ? 1e3 * s.d22a51: 5e3)) : (F(), a["a"].alertTip({
                                msg: "购买已超上限"
                            }))
                        }), (function(t) {
                            F(),
                            P(e),
                            o && o(t)
                        }))) : (F(), a["a"].alertTip({
                            msg: "非常抱歉，请重试！"
                        }))
                    }), (function() {
                        F(),
                        P(e)
                    }))
                }
            }))
        },
        P = function(t) {
            T = _["a"].$dialog({
                isHideHeader: !0,
                width: "900px",
                dialogClass: "bigtap-error-modal",
                content: '<div class="bigtap-error-box">\n            <h3>抱歉，网络拥堵无法连接服务器</h3>\n            <p  class="error-tip">由于访问人数太多导致服务器压力山大，请您稍后再重试。</p>\n            <a class="btn btn-primary" id="J_bigtapRetry">重试</a>\n        </div>',
                opened: function() {
                    C["a"].addEvt(document.getElementById("J_bigtapRetry"), "click", (function() {
                        T && T.hide(),
                        A(t)
                    }))
                }
            })
        },
        q = function(t, e) {
            var n = {
                title: "很遗憾，你本次未能买到<br>人真是太多了",
                desc: "别灰心，可以关注小米商城app、微博，或者微信，<br>我们会及时告知你下一轮的开售时间。"
            };
            t && t.title && t.des && (n.title = t.title, n.desc = t.des),
            O = _["a"].$dialog({
                type: "alert",
                isHideHeader: !0,
                width: "800px",
                components: {
                    Soldout: p
                },
                dialogClass: "bigtap-soldout-modal",
                contentData: {
                    soldoutData: n,
                    recommendProduct: e
                },
                content: '<Soldout :soldoutData="contentData.soldoutData" :recommendProduct="contentData.recommendProduct"></Soldout>',
                ok: function() {
                    O.hide()
                }
            })
        },
        N = function() {
            $ = _["a"].$dialog({
                isHideHeader: !0,
                width: "800px",
                components: {
                    Queue: y
                },
                dialogClass: "bigtap-queue-modal",
                content: "<Queue></Queue>",
                opened: function() {
                    var t = document.getElementById("J_bigtapQueue"),
                    e = t.querySelectorAll(".poster"),
                    n = t.querySelectorAll(".queue-item"),
                    o = 0;
                    L = setInterval((function() {
                        o++,
                        o >= e.length && (o = 0),
                        e.forEach((function(t, e) {
                            Object(S["a"])(t, "active"),
                            Object(S["a"])(n[e], "active"),
                            o == e && (Object(x["a"])(t, "active"), Object(x["a"])(n[e], "active"))
                        }))
                    }), 3e3),
                    C["a"].addEvt(t.querySelectorAll(".close")[0], "click", (function() {
                        F()
                    }))
                },
                hide: function() {
                    F()
                }
            })
        },
        F = function() {
            $ && $.hide(),
            $ = null,
            L && clearInterval(L),
            L = null,
            j && clearTimeout(j),
            j = null
        };
        e["a"] = {
            hdGet: A,
            hdInfo: M
        }
    },
    "4de9": function(t, e, n) {},
    5567 : function(t, e, n) {},
    "5bf9": function(t, e, n) {
        "use strict";
        n.r(e);
        var o = n("a026"),
        i = (n("5567"), n("1b9e"), n("f644")),
        a = n("31bc"),
        r = function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return n("transition", {
                attrs: {
                    name: "fade"
                }
            },
            [t.showBox ? n("div", {
                class: ["toast-wrap", t.customClass]
            },
            [n("div", {
                staticClass: "toast"
            },
            [t._v(t._s(t.str))])]) : t._e()])
        },
        s = [],
        c = {
            data: function() {
                return {
                    showBox: !0,
                    str: "",
                    customClass: ""
                }
            },
            methods: {
                close: function() {
                    this.showBox = !1,
                    this.$destroy()
                }
            }
        },
        u = c,
        l = (n("8bb9"), n("2877")),
        d = Object(l["a"])(u, r, s, !1, null, "4f4c2f30", null),
        m = d.exports,
        f = o["a"].extend(m),
        p = [],
        h = 1,
        g = function(t) {
            var e;
            if (t = t || {},
            "string" === typeof t && (t = {
                str: t
            }), "string" !== typeof t.str) throw "toast content is required and must be a string";
            var n = "toast_".concat(h++);
            return e = new f({
                data: t
            }),
            e.id = n,
            e.vm = e.$mount(),
            document.body.appendChild(e.vm.$el),
            setTimeout((function() {
                e.vm.showBox = !1
            }), 2e3),
            e.dom = e.vm.$el,
            p.push(e),
            e.vm
        },
        v = g,
        b = function(t) {
            t.component(v.name, v),
            t.prototype.$toast = v
        },
        w = {
            install: b,
            toast: v
        },
        y = function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return n("div", [t.conList && t.conList.length ? n("div", {
                staticClass: "container"
            },
            [n("div", {
                ref: "J_seckillBannerWrap",
                staticClass: "seckill-banner"
            },
            [n("div", {
                class: ["container", t.isBannerFixed ? "fixed": "relative"]
            },
            [n("ul", t._l(t.conList, (function(e, o) {
                return n("tabLi", {
                    key: o,
                    tag: "li",
                    class: {
                        active: t.currentIndex === o
                    },
                    attrs: {
                        item: e,
                        index: o,
                        "server-time": t.serverTime
                    },
                    on: {
                        onTime: t.handleOnTime,
                        onStart: t.handleOnStart,
                        onEnd: t.handleOnEnd
                    },
                    nativeOn: {
                        click: function(n) {
                            return t.handleClickActive(o, e.time_id)
                        }
                    }
                })
            })), 1)])]), n("div", {
                staticClass: "seckill-con"
            },
            [n("div", {
                ref: "J_sectillCon",
                staticClass: "container"
            },
            [n("ul", {
                staticClass: "clearfix"
            },
            t._l(t.currentConList, (function(e, o) {
                return n("contentLi", {
                    key: o,
                    tag: "li",
                    attrs: {
                        item: e,
                        index: o,
                        "is-login": t.isLogin,
                        "status-code": t.statusCode,
                        "current-index": t.currentIndex,
                        "item-p": t.conList[t.currentIndex],
                        "is-on-start": t.isOnStart,
                        "process-status": t.processStatus,
                        servertime: t.serverTime,
                        starttime: t.starttime,
                        endtime: t.endtime
                    }
                })
            })), 1)])])]) : t._e(), t.conList ? t._e() : n("div", {
                staticClass: "seckill-empty container"
            },
            [t._v("暂无秒杀活动")])])
        },
        _ = [],
        C = n("a34a"),
        x = n.n(C),
        S = n("ffe8"),
        D = n("4703"),
        k = n("a417"),
        $ = n("7f19"),
        L = {
            getMoreData: function(t, e) {
                return Object($["a"])("".concat(k["a"].host.hdaSite, "/flashsale/getlist"), t, e)
            }
        },
        T = n("2907"),
        j = n("2ec8"),
        O = function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return n("li", {
                class: t.classStr
            },
            [n("a", {
                staticClass: "seckill-box",
                attrs: {
                    href: t.aLink,
                    "data-log_code": "bpm=57.181.3586818." + (t.index + 1) + "&cdm=" + t.cdm + "&uni=&next=6.64"
                }
            }), n("div", {
                staticClass: "item-box"
            },
            [n("span", {
                staticClass: "img-con"
            },
            [n("img", {
                directives: [{
                    name: "lazy",
                    rawName: "v-lazy",
                    value: t.item.img,
                    expression: "item.img"
                }]
            })]), n("span", {
                staticClass: "pro-con"
            },
            [n("span", {
                staticClass: "name",
                attrs: {
                    title: t.item.goods_name
                },
                domProps: {
                    innerHTML: t._s(t.item.goods_name)
                }
            }), n("span", {
                staticClass: "desc"
            },
            [t._v(t._s(t.item.desc))]), !t.currentIndex && t.isOnStart && t.isLogin ? n("span", {
                staticClass: "process"
            },
            [n("span", {
                style: "width:" + t.processNum + ";"
            }), n("em", [t._v(t._s(t.processNum))])]) : t._e(), n("span", {
                staticClass: "price"
            },
            [t._v(t._s(t.item.seckill_price) + "元\n                "), parseFloat(t.item.goods_price) > parseFloat(t.item.seckill_price) ? n("del", [t._v(t._s(t.item.goods_price) + "元")]) : t._e()]), t.currentIndex || !t.currentIndex && !t.isOnStart ? n("span", {
                staticClass: "person "
            },
            [t._v(t._s(t.item.remind_num))]) : t._e()])]), n("a", {
                class: ["btn", 0 === t.item.remind_status ? "btn-green": "btn-gray", "btn-small", {
                    "btn-disabled": t.isDisabled
                },
                {
                    "btn-primary": t.isPrimary
                },
                {
                    "btn-remind": t.isRemind
                }],
                attrs: {
                    href: t.aLink,
                    "data-id": t.item.goods_id,
                    "data-log_code": t.log_code
                },
                on: {
                    click: t.handleBtnClick
                }
            },
            [t._v("\n            " + t._s(t.btnText) + "\n    ")])])
        },
        E = [];
        function I(t, e, n, o, i, a, r) {
            try {
                var s = t[a](r),
                c = s.value
            } catch(u) {
                return void n(u)
            }
            s.done ? e(c) : Promise.resolve(c).then(o, i)
        }
        function M(t) {
            return function() {
                var e = this,
                n = arguments;
                return new Promise((function(o, i) {
                    var a = t.apply(e, n);
                    function r(t) {
                        I(a, o, i, r, s, "next", t)
                    }
                    function s(t) {
                        I(a, o, i, r, s, "throw", t)
                    }
                    r(void 0)
                }))
            }
        }
        var A = {
            name: "content-li",
            props: ["item", "itemP", "index", "isLogin", "statusCode", "currentIndex", "isOnStart", "processStatus", "servertime", "starttime", "endtime"],
            data: function() {
                var t = this;
                return {
                    wwwSite: k["a"].host.wwwSite,
                    btnStatusText: {
                        "-1": "正在加载...",
                        0 : "已抢光",
                        1 : "seckill" === t.item.seckill_type ? "立即抢购": "立即秒杀",
                        2 : "登录后抢购",
                        3 : "活动尚未开始",
                        4 : "已结束",
                        5 : "seckill" === t.item.seckill_type ? "立即抢购": "立即秒杀"
                    },
                    disabledBtnStatus: [ - 1, 0, 3, 4, 5],
                    primaryBtnStatus: [1, 2],
                    isGetHdget: !1,
                    selfStatusCode: ""
                }
            },
            computed: {
                btnDefaultText: function() {
                    return 0 === this.item.remind_status ? "提醒我": "已设置提醒"
                },
                classStr: function() {
                    return "seckill" === this.item.seckill_type ? "item-seckill": "item-goods"
                },
                cdm: function() {
                    return this.itemP && (this.itemP.cdm || "")
                },
                aLink: function() {
                    return "seckill" === this.item.seckill_type ? "".concat(this.wwwSite, "/buy/detail?product_id=").concat(this.item.goods_id) : "javascript:void(0)"
                },
                bpm: function() {
                    return "seckill" === this.item.seckill_type ? "57.181.3586819.": "57.181.3586820."
                },
                btnText: function() {
                    return this.currentIndex || "" === this.statusCodeFinal ? this.btnDefaultText: this.btnStatusText[this.statusCodeFinal]
                },
                log_code: function() {
                    var t = "bpm=".concat(this.bpm).concat(this.index + 1, "&cdm=").concat(this.cdm, "&uni=&next=");
                    if (!this.currentIndex) switch (this.statusCodeFinal) {
                    case 0:
                    case 3:
                    case 4:
                        t = "";
                        break;
                    case 1:
                    case 5:
                        t = "seckill" === this.item.seckill_type ? "bpm=57.181.3586822.".concat(this.index + 1, "&cdm=").concat(this.cdm, "&uni=&next=6.64") : "bpm=57.181.3586821.".concat(this.index + 1, "&cdm=").concat(this.cdm, "&uni=&next=38.113");
                        break;
                    case 2:
                        t = "bpm=57.181.3586824.".concat(this.index + 1, "&cdm=").concat(this.cdm, "&uni=&next=");
                        break;
                    default:
                        t = "bpm=".concat(this.bpm).concat(this.index + 1, "&cdm=").concat(this.cdm, "&uni=&next=")
                    }
                    return t
                },
                isDisabled: function() {
                    return ! this.currentIndex && this.disabledBtnStatus.includes(this.statusCodeFinal)
                },
                isPrimary: function() {
                    return ! this.currentIndex && this.primaryBtnStatus.includes(this.statusCodeFinal)
                },
                isRemind: function() {
                    return ! (!this.currentIndex && (this.currentIndex || "" !== this.statusCodeFinal))
                },
                processNum: function() {
                    return 4 === this.statusCodeFinal ? "100%": this.processStatus[this.item.goods_id] ? "".concat(this.processStatus[this.item.goods_id].percent, "%") : "100%"
                },
                statusCodeFinal: function() {
                    if ("" !== this.selfStatusCode) return this.selfStatusCode;
                    if (!Object.keys(this.processStatus).length || 4 === this.statusCode) return this.statusCode;
                    var t = this.processStatus[this.item.goods_id];
                    if (!t || this.isGetHdget && !t.salt) return 0;
                    if (this.servertime - this.starttime <= 60) return 1;
                    switch (t.hdstatus) {
                    case 2:
                        return 1;
                    case 3:
                        return 0;
                    case 1:
                        return 3;
                    case 4:
                        return 4;
                    default:
                        return this.statusCode
                    }
                }
            },
            methods: {
                getHdget: function() {
                    var t = M(x.a.mark((function t() {
                        var e;
                        return x.a.wrap((function(t) {
                            while (1) switch (t.prev = t.next) {
                            case 0:
                                return Object.keys(this.processStatus).length || (this.$parent.getHdinfor(), this.$toast("活动未开始")),
                                this.isGetHdget = !0,
                                t.prev = 2,
                                t.next = 5,
                                D["a"].hdGet({
                                    product: this.item.goods_id,
                                    source: "flashsale",
                                    start: this.starttime,
                                    extend_field: {
                                        end_time: this.endtime,
                                        start_time: this.starttime
                                    },
                                    addCartSource: "bigtap_flash"
                                });
                            case 5:
                                if (e = t.sent, !(e.hdstatus && e.hdstatus >= 3)) {
                                    t.next = 9;
                                    break
                                }
                                return this.selfStatusCode = 0,
                                t.abrupt("return");
                            case 9:
                                e.code && 200 != e.code ? this.alertTip("抢购太火爆了，再试一次吧~") : window.location.href = "".concat(this.wwwSite, "/buy/cart"),
                                t.next = 15;
                                break;
                            case 12:
                                t.prev = 12,
                                t.t0 = t["catch"](2),
                                this.selfStatusCode = 0;
                            case 15:
                            case "end":
                                return t.stop()
                            }
                        }), t, this, [[2, 12]])
                    })));
                    function e() {
                        return t.apply(this, arguments)
                    }
                    return e
                } (),
                handleBtnClick: function(t) {
                    var e = this;
                    if (this.isRemind) {
                        if (t.preventDefault(), 0 !== this.item.remind_status) return;
                        this.confirmTip({
                            width: "500px",
                            okText: "小米商城app",
                            cancelText: "取消",
                            title: "设置提醒",
                            msg: "请安装小米商城App，开抢前15分钟获得提醒",
                            onOk: function() {
                                window.location.href = "".concat(e.wwwSite, "/appdownload/")
                            }
                        })
                    } else if (1 === this.statusCodeFinal) {
                        if ("seckill" === this.item.seckill_type) return;
                        this.getHdget()
                    } else if (4 === this.statusCodeFinal) t.preventDefault(),
                    this.confirmTip({
                        width: "580px",
                        okText: "立即查看",
                        msg: "结束啦，快去看看新的秒杀",
                        customClass: "dialog-over",
                        onOk: function() {
                            window.location.reload()
                        }
                    });
                    else if (2 === this.statusCodeFinal) {
                        t.preventDefault();
                        var n = document.getElementById("J_siteUserInfo").querySelector("a");
                        n.click()
                    } else 5 === this.statusCodeFinal && (t.preventDefault(), this.$toast({
                        str: "活动未开始",
                        customClass: "toast_no-start"
                    }))
                }
            }
        },
        P = A,
        q = Object(l["a"])(P, O, E, !1, null, null, null),
        N = q.exports,
        F = function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return n("li", [n("a", {
                attrs: {
                    href: "javascript:void(0);",
                    "data-log_code": t.log_code
                }
            },
            [n("em", [t._v("\n            " + t._s(t.getText().emText) + "\n        ")]), n("span", [this.index ? [t._v("\n                " + t._s(t.getText().spanText) + "\n            ")] : [n("em", [t._v(t._s(t.timeEmText))]), t.timeSpanText ? n("div", [t._v(t._s(t.timeSpanText))]) : t._e()]], 2)])])
        },
        H = [],
        J = n("a298"),
        B = n("08a2");
        function U(t, e) {
            var n = Object.keys(t);
            if (Object.getOwnPropertySymbols) {
                var o = Object.getOwnPropertySymbols(t);
                e && (o = o.filter((function(e) {
                    return Object.getOwnPropertyDescriptor(t, e).enumerable
                }))),
                n.push.apply(n, o)
            }
            return n
        }
        function R(t) {
            for (var e = 1; e < arguments.length; e++) {
                var n = null != arguments[e] ? arguments[e] : {};
                e % 2 ? U(Object(n), !0).forEach((function(e) {
                    W(t, e, n[e])
                })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : U(Object(n)).forEach((function(e) {
                    Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(n, e))
                }))
            }
            return t
        }
        function W(t, e, n) {
            return e in t ? Object.defineProperty(t, e, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : t[e] = n,
            t
        }
        var G = !1,
        z = {
            name: "tab-li",
            props: ["item", "index", "serverTime"],
            data: function() {
                return {
                    isFirstTab: !this.index,
                    timeEmText: "",
                    timeSpanText: ""
                }
            },
            computed: {
                log_code: function() {
                    return "bpm=57.181.3586816.".concat(217 + this.index, "&cdm=").concat(this.item.cdm ? this.item.cdm: "", "&uni=&next=")
                }
            },
            methods: R({
                getText: function() {
                    var t = this.item.start_time,
                    e = this.serverTime,
                    n = new Date(1e3 * t),
                    o = new Date(1e3 * e),
                    i = n.getDate(),
                    a = n.getMonth() + 1,
                    r = o.getDate(),
                    s = n.getHours(),
                    c = n.getMinutes(),
                    u = Math.floor((n.getTime() - o.getTime()) / 864e5);
                    return u >= 1 || 0 === u && i != r ? {
                        emText: "".concat(this.formateNum(s), ":").concat(this.formateNum(c)),
                        spanText: "".concat(0 === u || 1 === u ? "明日": "".concat(a, "月").concat(i, "日"), "开始")
                    }: {
                        emText: "".concat(this.formateNum(s), ":").concat(this.formateNum(c)),
                        spanText: "即将开始"
                    }
                },
                formateNum: function(t, e) {
                    return (t < 10 ? "0".concat(t) : t) + (e || "")
                }
            },
            B["a"]),
            mounted: function() {
                var t = this;
                this.isFirstTab && Object(J["a"])({
                    startTime: this.item.start_time,
                    endTime: this.item.end_time,
                    upTime: !0,
                    onTime: function(e) {
                        t.timeEmText = "即将开始",
                        t.timeSpanText = "距开始 ".concat(t.formateTime(e - 28800, "hh:mm:ss")),
                        e > 900 || e < 900 && G || (t.$emit("onTime"), G = !0)
                    },
                    onStart: function(e, n) {
                        t.timeEmText = "抢购中",
                        t.timeSpanText = "距结束 ".concat(t.formateTime(e - 28800, "hh:mm:ss")),
                        t.$emit("onStart")
                    },
                    onEnd: function() {
                        t.timeEmText = "抢购已结束",
                        t.timeSpanText = "",
                        t.$emit("onEnd")
                    }
                })
            }
        },
        V = z,
        X = Object(l["a"])(V, F, H, !1, null, null, null),
        Y = X.exports;
        function Q(t, e, n, o, i, a, r) {
            try {
                var s = t[a](r),
                c = s.value
            } catch(u) {
                return void n(u)
            }
            s.done ? e(c) : Promise.resolve(c).then(o, i)
        }
        function K(t) {
            return function() {
                var e = this,
                n = arguments;
                return new Promise((function(o, i) {
                    var a = t.apply(e, n);
                    function r(t) {
                        Q(a, o, i, r, s, "next", t)
                    }
                    function s(t) {
                        Q(a, o, i, r, s, "throw", t)
                    }
                    r(void 0)
                }))
            }
        }
        var Z = 0,
        tt = 0,
        et = window.screen.availHeight,
        nt = 15,
        ot = !1,
        it = !1,
        at = {
            name: "",
            components: {
                contentLi: N,
                tabLi: Y
            },
            data: function() {
                return {
                    wwwSite: k["a"].host.wwwSite,
                    isLoading: !0,
                    isBannerFixed: !1,
                    scrollTop: 0,
                    conList: [],
                    productList: [],
                    serverTime: 0,
                    isLoadingData: !1,
                    isCanPage: !0,
                    isLogin: !!Object(j["a"])("cUserId"),
                    btnStatus: 0,
                    currentIndex: 0,
                    tabPageNum: [1, 1, 1, 1, 1],
                    isCanPageArr: [!0, !0, !0, !0, !0],
                    statusCode: "",
                    isOnStart: !1,
                    starttime: "",
                    endtime: "",
                    processStatus: {}
                }
            },
            computed: {
                currentConList: function() {
                    return this.conList && this.conList.length ? this.conList[this.currentIndex].list.slice(0, this.currentPageNum * nt + 1) : []
                },
                currentPageNum: function() {
                    return this.tabPageNum[this.currentIndex]
                }
            },
            watch: {
                scrollTop: function() {
                    this.scrollTop >= tt + Z - et && this.getMoreData(window.servertime)
                },
                currentConList: function() {
                    var t = this;
                    this.conList && this.conList.length && this.$nextTick((function() {
                        tt || (tt = t.$refs.J_sectillCon.offsetTop),
                        Z = t.$refs.J_sectillCon.offsetHeight
                    }))
                }
            },
            methods: {
                handleClickActive: function(t, e) {
                    this.currentIndex = t,
                    this.isCanPage = this.currentConList.length >= this.currentPageNum * nt,
                    this.setPv(e),
                    this.$nextTick((function() {
                        window.statInit && window.statInit()
                    }))
                },
                setLogin: function() {
                    var t = this;
                    this.isLogin && (Object(S["a"])({
                        name: "hd",
                        url: k["a"].host.hdiProxy,
                        callback: function() {
                            t.isLogin = !0
                        }
                    }), Object(S["a"])({
                        name: "hdorder",
                        url: k["a"].host.orderProxy
                    }))
                },
                setPv: function(t) {
                    "undefined" !== typeof window._msq && (window._msq && window._msq.push(["setVars", "time_id", t]), window._msq && window._msq.push(["trackPageView"]), window._msq.push(["setVars", "time_id", ""]))
                },
                handleScroll: function() {
                    this.$refs.J_seckillBannerWrap && (this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop, this.isBannerFixed = this.scrollTop > this.$refs.J_seckillBannerWrap.offsetTop)
                },
                getMoreData: function() {
                    this.isLoadingData || (this.isLoadingData = !0, this.isCanPageArr[this.currentIndex] ? this.getPageData(this.serverTime) : this.isLoadingData = !1)
                },
                getPageData: function() {
                    var t = K(x.a.mark((function t(e) {
                        var n, o, i, a, r = this;
                        return x.a.wrap((function(t) {
                            while (1) switch (t.prev = t.next) {
                            case 0:
                                return t.next = 2,
                                L.getMoreData({
                                    now_time: e,
                                    size: nt,
                                    page: this.currentPageNum
                                });
                            case 2:
                                if (n = t.sent, this.isLoadingData && (this.isLoadingData = !1), 0 === n.code && n.data && n.data.data && n.data.data.list && n.data.data.list.length > 0) {
                                    if (o = n.data.data, this.conList.length) {
                                        for (i = 0; i < this.conList.length; i++) if (this.isCanPageArr[i] = !1, o.list.length) for (a = 0; a < o.list.length; a++) o.list[a].time_id === this.conList[i].time_id && o.list[a].start_time === this.conList[i].start_time && (this.conList[i].list = this.conList[i].list.concat(o.list[a].list), o.list[a].list.length >= nt && (this.isCanPageArr[i] = !0))
                                    } else o.loginStatus && Object(j["a"])("cUserId"),
                                    this.serverTime = e,
                                    this.conList = o.list,
                                    this.starttime = o.list[0].start_time,
                                    this.endtime = o.list[0].end_time,
                                    this.setPv(o.list[0].time_id);
                                    this.tabPageNum.forEach((function(t, e) {
                                        r.$set(r.tabPageNum, e, t + 1)
                                    }))
                                } else this.conList && this.conList.length || (this.conList = null),
                                this.isCanPageArr[this.currentIndex] = !1;
                                this.$nextTick((function() {
                                    window.statInit && window.statInit()
                                }));
                            case 6:
                            case "end":
                                return t.stop()
                            }
                        }), t, this)
                    })));
                    function e(e) {
                        return t.apply(this, arguments)
                    }
                    return e
                } (),
                handleOnTime: function() {
                    this.isLogin ? this.statusCode = 5 : this.statusCode = 2
                },
                getHdinfor: function() {
                    var t = K(x.a.mark((function t() {
                        var e;
                        return x.a.wrap((function(t) {
                            while (1) switch (t.prev = t.next) {
                            case 0:
                                if (this.isLogin) {
                                    t.next = 3;
                                    break
                                }
                                return this.statusCode = 2,
                                t.abrupt("return");
                            case 3:
                                return it = !0,
                                t.prev = 4,
                                t.next = 7,
                                D["a"].hdInfo({
                                    source: "flashsale",
                                    start: this.starttime
                                });
                            case 7:
                                e = t.sent,
                                e && e.status && (this.processStatus = e.status),
                                t.next = 14;
                                break;
                            case 11:
                                t.prev = 11,
                                t.t0 = t["catch"](4),
                                this.statusCode = 0;
                            case 14:
                            case "end":
                                return t.stop()
                            }
                        }), t, this, [[4, 11]])
                    })));
                    function e() {
                        return t.apply(this, arguments)
                    }
                    return e
                } (),
                handleOnStart: function() {
                    ot || (this.isLogin ? this.statusCode = 1 : this.statusCode = 2, this.isOnStart = !0, ot = !0),
                    it || this.getHdinfor()
                },
                handleOnEnd: function() {
                    this.statusCode = 4
                }
            },
            mounted: function() {
                window.addEventListener("scroll", this.handleScroll),
                this.$emit("closeloading")
            },
            created: function() {
                this.setLogin(),
                Object(T["a"])(this.getPageData)
            },
            destroyed: function() {
                window.removeEventListener("scroll", this.handleScroll)
            }
        },
        rt = at,
        st = Object(l["a"])(rt, y, _, !1, null, null, null),
        ct = st.exports;
        o["a"].use(w),
        new o["a"]({
            components: {
                mainContent: ct
            },
            data: function() {
                return {
                    isLoading: !0
                }
            },
            methods: {
                handleCloseLoading: function() {
                    this.isLoading = !1
                }
            },
            mounted: function() {
                this.header = Object(i["default"])(this, this.$refs.J_siteHeader),
                this.footer = Object(a["default"])(this, this.$refs.J_siteFooter)
            },
            destroyed: function() {
                this.header.destroy(),
                this.footer.destroy()
            }
        }).$mount("#app")
    },
    6056 : function(t, e, n) {},
    "751a": function(t, e, n) {
        "use strict";
        var o = n("bc3a"),
        i = n.n(o),
        a = n("a417"),
        r = /^mock\./.test(window.location.host),
        s = !0,
        c = function(t, e) {
            switch (t) {
            case 404:
                break;
            default:
            }
        },
        u = i.a.create({
            timeout: 1e4
        });
        u.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded",
        u.defaults.withCredentials = !r;
        var l = function(t) {
            var e = t.split("?");
            if (!e || e.length <= 1) return t;
            var n = e[1].split("&"),
            o = "";
            return n.map((function(t) {
                var e = t.split("=");
                "needLogin" == e[0] ? s = e[1] : o += "".concat(e[0], "=").concat(e[1])
            })),
            e[0] + (o ? "?".concat(o) : o)
        };
        u.interceptors.request.use((function(t) {
            return /get/i.test(t.method) && (t.params = t.params || {},
            t.params.t = Date.parse(new Date) / 1e3),
            s = !t.params || 0 != t.params.needLogin || t.params.needLogin,
            t.url = l(t.url),
            t
        }), (function(t) {
            return Promise.reject(t)
        })),
        u.interceptors.response.use((function(t) {
            return 200 !== t.status ? Promise.reject(t.data) : t.data && -1e4 === t.data.code && s ? void(window.location.href = a["a"].host.orderLogin) : Promise.resolve(t.data)
        }), (function(t) {
            var e = t.response;
            e && c(e.status, e.data.desc)
        })),
        e["a"] = u
    },
    "7f19": function(t, e, n) {
        "use strict";
        n.d(e, "a", (function() {
            return r
        }));
        var o = n("f2e8"),
        i = n.n(o),
        a = n("a417");
        function r(t, e, n) {
            t += (t.indexOf("?") < 0 ? "?": "&") + s(e);
            var o = {
                needLogin: !0,
                timeout: 6e4
            };
            return o = Object.assign({},
            o, n),
            new Promise((function(e, n) {
                i()(t, o, (function(t, i) {
                    t ? n(t) : i && -1e4 === i.code && o.needLogin ? window.location.href = a["a"].host.orderLogin: e(i)
                }))
            }))
        }
        function s(t) {
            var e = "";
            for (var n in t) {
                var o = void 0 !== t[n] ? t[n] : "";
                e += "&" + n + "=" + encodeURIComponent(o)
            }
            return e ? e.substring(1) : ""
        }
    },
    8241 : function(t, e, n) {},
    "87aa": function(t, e, n) {
        "use strict";
        var o = function() {
            var t = this,
            e = t.$createElement,
            n = t._self._c || e;
            return t.visible ? n("div", {
                staticClass: "mi-popup",
                style: {
                    "z-index": t.zIndex
                }
            },
            [n("transition", {
                attrs: {
                    name: "mi-modal"
                }
            },
            [t.mask ? n("div", {
                staticClass: "mi-popup__mask mi-modal",
                on: {
                    click: function(e) {
                        return e.stopPropagation(),
                        t.clickMask(e)
                    }
                }
            }) : t._e()]), n("div", {
                staticClass: "mi-popup__box"
            },
            [n("div", {
                staticClass: "mi-popup__content"
            },
            [t._t("default")], 2)])], 1) : t._e()
        },
        i = [],
        a = {
            name: "MiPopup",
            props: {
                mask: {
                    type: Boolean,
                default:
                    !0
                },
                zIndex: {
                    type: Number,
                default:
                    100
                }
            },
            data: function() {
                return {
                    visible: !1
                }
            },
            methods: {
                show: function() {
                    this.visible = !0
                },
                hide: function() {
                    this.visible = !1
                },
                clickMask: function() {
                    this.$emit("popup-mask-click")
                }
            },
            mounted: function() {
                this.show()
            }
        },
        r = a,
        s = (n("2f0b"), n("2877")),
        c = Object(s["a"])(r, o, i, !1, null, "f6440f00", null);
        e["a"] = c.exports
    },
    8854 : function(t, e, n) {
        "use strict";
        n("0542");
        var o = n("91bf"),
        i = n("a417"),
        a = n("fe6a"),
        r = n("2ec8"),
        s = (n("c474"),
        function() {
            var t = {
                loopSpeed: 8e3,
                initDelay: 3e3,
                loopTimer: null,
                login: !1,
                messageTotal: 0,
                loopCount: 0,
                uid: "",
                popShow: !1,
                Dom: {},
                objs: {},
                domEvtFuns: {},
                msgInit: function(e) {
                    var n = document.querySelector(".site-mini-header");
                    t.login = e,
                    t.uid = Object(r["a"])("axmuid") ? Object(r["a"])("axmuid") : Object(r["a"])("userId"),
                    n || (t.updateDom(), t.uid && setTimeout((function() {
                        t.getMessage()
                    }), t.initDelay))
                },
                updateDom: function() {
                    var e = i["a"].host.wwwSite + "/user/message",
                    n = '<span class="sep">|</span><span class="message"><a rel="nofollow" href="javascript:void(0);" data-href="' + e + '" class="J_needAgreement" data-login="true" data-agreement="true">消息通知<i class="J_miMessageTotal"></i></a></span>';
                    t.Dom.$userInfo && (t.login ? t.Dom.$userInfo.querySelector(".user").insertAdjacentHTML("afterend", n) : t.Dom.$userInfo.insertAdjacentHTML("beforeend", n))
                },
                updateMessageNum: function() {
                    t.messageTotal > 0 ? document.querySelector(".J_miMessageTotal").textContent = "（" + t.messageTotal + "）": document.querySelector(".J_miMessageTotal").textContent = ""
                },
                stopLoop: function() {
                    t.loopTimer && clearTimeout(t.loopTimer),
                    t.loopSpeed = 8e3,
                    t.loopCount = 0
                },
                creatPopDom: function(t) {
                    var e = document.createElement("div"),
                    n = document.createElement("div");
                    e.id = "J_miMessagePop",
                    e.className = "message-pop-wrapper",
                    n.className = "message-pop-content";
                    var o = document.createElement("a");
                    if (o.className = "close", o.href = "javascript: void(0);", o.innerHTML = '<i class="iconfont-close"></i>', t.autoClose) {
                        var i = document.createElement("div");
                        i.className = "message-countdown",
                        i.innerHTML = '<em id="J_messagePopCdTime">5</em> 秒后自动关闭',
                        n.appendChild(i)
                    }
                    var a = document.createElement("a");
                    return a.className = "message-link",
                    a.href = t.link,
                    a.onclick = "_msq.push(['trackEvent', '" + t.id + "', '" + t.link + "', 'pcpid']);",
                    a.style.backgroundImage = "url(" + t.image + ")",
                    n.appendChild(o),
                    n.appendChild(a),
                    e.appendChild(n),
                    e
                },
                getMessage: function() {
                    t.loopCount > 0 && t.loopCount % 5 === 0 && t.loopSpeed <= 3e4 && (t.loopSpeed = 2 * t.loopSpeed),
                    t.loopCount += 1,
                    a["a"].getMessage({
                        vpage: location.href
                    },
                    {
                        param: "jsonpcallback",
                        name: "mi_message_callback",
                        needLogin: !1,
                        timeout: 1e4
                    }).then((function(e) {
                        if (e && 200 === e.code && (t.messageTotal = e.data.count, t.updateMessageNum(), 1 === e.data.loop ? (t.loopTimer && clearTimeout(t.loopTimer), t.loopTimer = setTimeout((function() {
                            t.getMessage()
                        }), t.loopSpeed)) : t.stopLoop(), 1 === e.data.hasPop && !t.popShow)) {
                            var n = t.getPopDom({
                                id: e.data.popmsg.batch_id,
                                image: e.data.popmsg.adv_img_url,
                                link: e.data.popmsg.target,
                                autoClose: e.data.popmsg.adv_auto_close
                            });
                            if (document.body.appendChild(n), o["a"].addEvt(n.querySelector(".close"), "click", (function() {
                                n.classList.add = "hide",
                                setTimeout((function() {
                                    n.parentNode.removeChild(n)
                                }), 100)
                            })), n.classList.add = "active", t.popShow = !0, 1 === e.data.popmsg.adv_auto_close) var i = document.querySelector("#J_messagePopCdTime"),
                            a = 5,
                            r = setInterval((function() {
                                a <= 0 && clearInterval(r),
                                i.textContent = a,
                                a -= 1
                            }), 1e3)
                        }
                    }))
                }
            },
            e = function() {},
            n = function() {
                t.Dom.$userInfo = document.querySelector("#J_siteUserInfo")
            },
            s = function() {},
            c = function() {},
            u = function() {
                if (t) {
                    for (var e in t.objs) {
                        var n = t.objs[e];
                        n && n.destroy && n.destroy()
                    }
                    t = null
                }
            },
            l = function() {
                e(),
                n(),
                s(),
                c()
            };
            return l(),
            {
                destroy: u,
                init: t.msgInit
            }
        }),
        c = (n("3bf3"), n("986e")),
        u = function(t) {
            var e = {
                Dom: {},
                needAgreeCookie: !1,
                source: "",
                nextUrl: "",
                agrContent: {
                    title: "",
                    desc: "",
                    con: "",
                    iframeData: ""
                },
                objs: {},
                domEvtFuns: {
                    clickCheck: function(t) {
                        var n = t.target,
                        o = "",
                        i = "",
                        a = "";
                        n.getAttribute("data-agreement") && (o = n.getAttribute("data-href") || "", i = n.getAttribute("data-login") || "", i ? a = "login": n.getAttribute("data-register") && (a = "register"), e.checkAgreementStatus({
                            url: o,
                            login: i,
                            action: a
                        }))
                    },
                    switchAgreeTab: function(t) {
                        var n = t.target;
                        n.classList.contains("agree-tab") && e.getPageContent(n.getAttribute("data-href"))
                    }
                },
                checkAgreementStatus: function(t) {
                    if (t && t.url) {
                        e.nextUrl = t.url;
                        var n = /^(dev.test|mock|pc.test|www|item|list|order|cart|order|static|search|mall.10046|huanxin|recharge.10046|).*(mi.com$)/;
                        n.test(window.location.host) ? "1" === Object(r["a"])("XM_agreement_sure") && t.login ? window.location.href = t.url: (e.needAgreeCookie = !0, e.getAgreementInfo({
                            action: t.action
                        }).then((function(n) {
                            n.data.info.agree_info.length > 0 && (t.login || !t.login && !n.data.has_login) ? e.formateAgreement(n.data.info) : window.location.href = t.url
                        })).
                        catch((function(e) {
                            window.location.href = t.url
                        }))) : window.location.href = t.url
                    }
                },
                getAgreementInfo: function(t) {
                    return new Promise((function(e, n) {
                        if (!t);
                        a["a"].getAgreementInfo(t, {
                            param: "jsonpcallback",
                            name: "agreement_info"
                        }).then((function(t) {
                            t && 200 == t.code && t.data ? e(t) : n(t)
                        }), (function(t) {
                            n(t)
                        }))
                    }))
                },
                formateAgreement: function(t) {
                    var n = '<div class="desc J_agreeTabs">';
                    t.agree_info.map((function(e, o) {
                        n += '<span class="agree-tab" data-href="'.concat(e.link, '">').concat(e.name, "</span>"),
                        o < t.agree_info.length - 1 && (n += "、")
                    })),
                    n += t.desc,
                    e.agrContent.desc = "".concat(n, "</div>"),
                    e.agrContent.title = t.title,
                    e.getPageContent(t.agree_info[0].link)
                },
                getPageContent: function(t) {
                    var n = '<div class="con">',
                    o = function() {
                        e.agrContent.con = "".concat(e.agrContent.desc + n, "</div>"),
                        e.Dom.$contentWrapper ? e.agrContent.iframeData ? (e.Dom.$contentWrapper.innerHTML = e.agrContent.con, e.updateIframeContent()) : e.Dom.$contentWrapper.innerHTML = e.agrContent.con: e.dialogShow()
                    };
                    /www\.mi\.com/.test(t) ? a["a"].getPageContent({
                        page_url: t
                    }).then((function(i) {
                        i && 200 == i.code && i.data ? (e.agrContent.iframeData = i.data, n += '<iframe id="J_agreementContentIframe" width="100%" height="300px" frameborder="0"></iframe>', o()) : (e.agrContent.iframeData = "", n += '<iframe src="'.concat(t, '" width="100%" height="300px" frameborder="0"></iframe>'), o())
                    }), (function(i) {
                        e.agrContent.iframeData = "",
                        n += '<iframe src="'.concat(t, '" width="100%" height="300px" frameborder="0"></iframe>'),
                        o()
                    })) : (e.agrContent.iframeData = "", n += '<iframe src="'.concat(t, '" width="100%" height="300px" frameborder="0"></iframe>'), o())
                },
                updateContent: function() {
                    var t = document.querySelector(".J_siteAgreementDialog");
                    e.Dom.$contentWrapper = t.querySelector("#J_siteAgreementContent"),
                    t.querySelector(".mi-dialog__title").textContent = e.agrContent.title || "协议声明",
                    e.Dom.$contentWrapper.innerHTML = e.agrContent.con,
                    e.updateIframeContent(),
                    o["a"].addEvt(e.Dom.$contentWrapper, "click", e.domEvtFuns.switchAgreeTab)
                },
                updateIframeContent: function() {
                    if (e.agrContent.iframeData) {
                        var t = e.Dom.$contentWrapper.querySelector("#J_agreementContentIframe");
                        t && ("undefined" === typeof t.srcdoc ? (t.contentWindow.document.open(), t.contentWindow.document.write(e.agrContent.iframeData), t.contentWindow.document.close()) : t.srcdoc = e.agrContent.iframeData)
                    }
                },
                sureAgreement: function() {
                    return new Promise((function(t, n) {
                        a["a"].sureAgreement({},
                        {
                            param: "jsonpcallback",
                            name: "agreement_sign"
                        }).then((function(o) {
                            o && 200 == o.code ? (Object(r["a"])("XM_agreement", "0", {
                                expires: 7,
                                path: "/",
                                domain: "mi.com"
                            }), t(o)) : n(),
                            e.objs.$dialog && e.objs.$dialog.hide()
                        }), (function(t) {
                            n(),
                            e.objs.$dialog && e.objs.$dialog.hide()
                        }))
                    }))
                },
                agreeCallback: function() {
                    e.needAgreeCookie && (Object(r["a"])("XM_agreement", "1", {
                        expires: 7,
                        path: "/",
                        domain: "mi.com"
                    }), e.needAgreeCookie = !1),
                    "home" == e.source ? e.sureAgreement().then((function(t) {})).
                    catch((function(t) {})) : "checkout" == e.source ? e.sureAgreement().then((function(t) {
                        e.sureCallback && e.sureCallback()
                    })).
                    catch((function(t) {})) : (Object(r["a"])("XM_agreement_sure", "1", {
                        expires: 365,
                        path: "/",
                        domain: "mi.com"
                    }), window.location.href = e.nextUrl)
                },
                initCallback: function(t, n) {
                    if (e.source = t || "", e.sureCallback = n || "", "agreement" !== t) return new Promise((function(o, i) {
                        e.getAgreementInfo().then((function(a) {
                            a.data.has_login || "home" !== t ? (a.data.info.agree_info.length > 0 ? e.formateAgreement(a.data.info) : "checkout" === t && n && n(), "home" === t && o()) : (i(), e.source = "")
                        })).
                        catch((function(e) {
                            "home" === t ? o() : "checkout" === t && n && n()
                        }))
                    }));
                    e.sureAgreement().then((function(t) {})).
                    catch((function(t) {}))
                },
                dialogShow: function() {
                    e.objs.$dialog = c["a"].$dialog({
                        type: "confirm",
                        title: "协议声明",
                        dialogClass: "dialog-site-agreement J_siteAgreementDialog",
                        contentData: "contentData",
                        content: '<div id="J_siteAgreementContent"><div class="loading"><div class="loader"></div></div></div>',
                        okText: "同意",
                        cancelText: "不同意",
                        opened: function() {
                            e.updateContent()
                        },
                        closed: function() {
                            o["a"].removeEvt(e.Dom.$contentWrapper, "click", e.domEvtFuns.switchAgreeTab),
                            e.Dom.$contentWrapper = null,
                            e.objs.$dialog = null
                        },
                        ok: function() {
                            e.agreeCallback()
                        }
                    })
                }
            },
            n = function() {
                if (!t) throw "args el is needed."
            },
            i = function() {},
            s = function() {},
            u = function() {
                o["a"].addEvt(t, "click", e.domEvtFuns.clickCheck),
                c["a"].$on("checkAgreementStatus", e.checkAgreementStatus),
                c["a"].$on("checkoutAgreement", (function(t) {
                    e.initCallback("checkout", t)
                }))
            },
            l = function() {
                if (e) {
                    for (var t in e.objs) {
                        var n = e.objs[t];
                        n && n.destroy && n.destroy()
                    }
                    e = null
                }
            },
            d = function() {
                n(),
                i(),
                s(),
                u()
            };
            return d(),
            {
                destroy: l,
                initCallback: e.initCallback
            }
        },
        l = n("e3d1");
        e["a"] = function(t) {
            var e = {
                Dom: {},
                objs: {},
                domEvtFuns: {
                    userMenuShow: function() {
                        e.timeoutUserMenu && clearTimeout(e.timeoutUserMenu),
                        this.classList.add("user-active"),
                        this.querySelector("#J_userMenuWrapper").style.height = this.querySelector("#J_userMenuWrapper").scrollHeight + "px"
                    },
                    userMenuHide: function() {
                        var t = this;
                        e.timeoutUserMenu = setTimeout((function() {
                            t.classList.remove("user-active"),
                            t.querySelector("#J_userMenuWrapper").style.height = 0
                        }), 200)
                    },
                    logout: function() {
                        sessionStorage.removeItem(e.proxyFlag)
                    }
                },
                miid: Number(Object(r["a"])("userId")) || Object(r["a"])("cUserId"),
                miidLink: Object(r["a"])("xm_link_history"),
                userName: "",
                timeoutUserMenu: null,
                proxyFlag: "proxy_" + window.location.host,
                getUserName: function() {
                    a["a"].getUserName({}).then((function(t) {
                        if (t && 200 == t.code && t.data && t.data.user_id) {
                            var n = t.data.true_name ? t.data.true_name: t.data.user_name;
                            n = n || t.data.user_id;
                            var o = {
                                path: "/",
                                domain: ".mi.com"
                            };
                            Object(r["a"])("XM_" + t.data.user_id + "_UN", n, o),
                            e.loginCheckCb(t.data.user_id, n)
                        }
                    })).
                    catch((function(t) {}))
                },
                uuidCookie: function() {
                    var t = ("xmguest-" + l.v1()).toUpperCase(),
                    e = Object(r["a"])("xmuuid");
                    if (!e) {
                        var n = {
                            path: "/",
                            domain: ".mi.com",
                            expires: 365
                        };
                        Object(r["a"])("xmuuid", t, n)
                    }
                },
                escape: function(t) {
                    return String(t).replace(/&(?!\w+;)/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;")
                },
                updateDom: function() {
                    var n = e.userName || e.miid;
                    "1" !== sessionStorage.getItem(e.proxyFlag) && t && (t.setProxy({
                        name: "MiPROXY_ORDER",
                        url: i["a"].host.orderProxy
                    }), t.setProxy({
                        name: "MiPROXY_HD",
                        url: i["a"].host.hdiProxy
                    }), sessionStorage.setItem(e.proxyFlag, "1"));
                    var a = '<div id="J_userMenuWrapper" class="user-menu-wrapper">\n                <ul class="user-menu">\n                    <li><a rel="nofollow"  href="'.concat(i["a"].host.wwwSite, '/user/portal" target="_blank">个人中心</a></li>\n                    <li><a rel="nofollow" href="').concat(i["a"].host.wwwSite, '/user/comment" target="_blank">评价晒单</a></li>\n                    <li><a rel="nofollow" href="').concat(i["a"].host.wwwSite, '/user/favorite" target="_blank">我的喜欢</a></li>\n                    <li><a rel="nofollow" href="').concat(i["a"].host.accountSite, '" target="_blank">小米账户</a></li>\n                    <li><a rel="nofollow" id="J_userLogout" href="').concat(i["a"].host.logoutUrl, '">退出登录</a></li>\n                </ul>\n            </div>'),
                    r = '<span class="user">\n            <a rel="nofollow" class="user-name" href="'.concat(i["a"].host.wwwSite, '/user/portal" target="_blank">\n                <span class="name">').concat(e.escape(n), '</span>\n                <i class="iconfont-arrow-down-mini"></i>\n            </a>').concat(a, '\n            </span>\n            <span class="sep">|</span>\n            <a rel="nofollow" class="link link-order" href="').concat(i["a"].host.wwwSite, '/user/orderList" target="_blank">我的订单</a>');
                    e.Dom.$userInfo.innerHTML = r,
                    e.Dom.$userTrigger = e.Dom.$userInfo.querySelector(".user"),
                    e.Dom.$userLogout = document.querySelector("#J_userLogout"),
                    e.objs.message.init(!0),
                    o["a"].addEvt(e.Dom.$userTrigger, "mouseenter", e.domEvtFuns.userMenuShow),
                    o["a"].addEvt(e.Dom.$userTrigger, "mouseleave", e.domEvtFuns.userMenuHide),
                    o["a"].addEvt(e.Dom.$userLogout, "click", e.domEvtFuns.logout)
                },
                loginCheckCb: function(t, n) {
                    if (t) {
                        e.miid = t,
                        e.userName = n || "";
                        var o = Object(r["a"])("XM_agreement");
                        setTimeout((function() {
                            if (o && "1" === o) e.updateDom(),
                            e.objs.siteAgreement.initCallback("agreement");
                            else if ("/" === location.pathname || "/index.html" === location.pathname) {
                                var t = /^www.mi.com|pc.test.mi.com|pc.pre.mi.com/;
                                t.test(window.location.host) ? e.objs.siteAgreement.initCallback("home").then((function(t) {
                                    e.updateDom()
                                })).
                                catch((function(t) {
                                    Object(r["a"])("cUserId", null),
                                    Object(r["a"])("userId", null),
                                    Object(r["a"])("serviceToken", null)
                                })) : e.updateDom()
                            } else e.updateDom()
                        }), 700)
                    }
                },
                loginInit: function() {
                    if (e.uuidCookie(), !e.miid) {
                        Object(r["a"])("XM_agreement", "0", {
                            expires: 7,
                            path: "/",
                            domain: "mi.com"
                        });
                        var t = e.Dom.$userInfo.querySelector(".link[data-login='true']"),
                        n = e.Dom.$userInfo.querySelector(".link[data-register='true']");
                        return t.setAttribute("data-href", i["a"].host.orderLogin),
                        t.setAttribute("href", "javascript:void(0);"),
                        n.setAttribute("data-href", n.getAttribute("href")),
                        n.setAttribute("href", "javascript:void(0);"),
                        void e.objs.message.init(!1)
                    }
                    e.getUserName()
                }
            },
            n = function() {},
            c = function() {
                e.Dom.$userInfo = document.querySelector("#J_siteUserInfo")
            },
            d = function() {
                e.objs.siteAgreement = u(e.Dom.$userInfo),
                e.objs.message = s(),
                e.loginInit()
            },
            m = function() {},
            f = function() {
                if (e) {
                    for (var t in e.objs) {
                        var n = e.objs[t];
                        n && n.destroy && n.destroy()
                    }
                    e = null
                }
            },
            p = function() {
                n(),
                c(),
                d(),
                m()
            };
            return p(),
            {
                destroy: f
            }
        }
    },
    "8bb9": function(t, e, n) {
        "use strict";
        n("30c4")
    },
    "8c21": function(t, e, n) {},
    "8f03": function(t, e, n) {
        "use strict";
        var o = function(t, e) {
            var n = t.getAttribute("onclick");
            n && (n = n.replace(/(_msq.push\(\[.*,.*,.*,.*,').*('\]\);)/, (function(e, n, o) {
                var i = t.dataset.log_code;
                return n + i + o
            })), t.setAttribute("onclick", n), e && t.click())
        };
        e["a"] = o
    },
    "91bf": function(t, e, n) {
        "use strict";
        var o = n("bc47");
        function i(t) {
            t.target = t.target || t.srcElement
        }
        var a = i;
        function r(t) {
            t.preventDefault ? t.preventDefault() : t.returnValue = !1
        }
        var s = r,
        c = document.addEventListener,
        u = c ?
        function(t, e, n) {
            t.removeEventListener(e, n, !1)
        }: function(t, e, n) {
            t.detachEvent("on" + e, n)
        },
        l = u;
        e["a"] = {
            addEvt: o["a"],
            evtFix: a,
            preventDefault: s,
            removeEvt: l
        }
    },
    9302 : function(t, e, n) {
        "use strict";
        function o(t, e) {
            return new RegExp("(^|\\s)" + e + "($|\\s)").test(t.className)
        }
        e["a"] = o
    },
    "986e": function(t, e, n) {
        "use strict";
        var o = n("a026");
        e["a"] = new o["a"]
    },
    "9dd2": function(t, e, n) {
        "use strict";
        var o = n("7f19"),
        i = n("a417"),
        a = {
            getMallConfig: function(t) {
                return Object(o["a"])(i["a"].host.serviceApi + "/mall/config", t, {
                    param: "jsonpcallback",
                    name: "mallConfig"
                })
            }
        };
        e["a"] = a
    },
    "9f77": function(t, e, n) {
        "use strict";
        var o = n("9302");
        function i(t, e) {
            1 === t.nodeType && Object(o["a"])(t, e) && (t.className = t.className.replace(new RegExp("(^|\\s)" + e + "($|\\s)"), " "))
        }
        e["a"] = i
    },
    a298: function(t, e, n) {
        "use strict";
        var o = n("2907"),
        i = function(t) {
            var e = {
                startTime: "",
                endTime: "",
                timer: "",
                upTime: !1,
                onTime: function() {},
                onStart: function() {},
                onEnd: function() {}
            },
            n = Object.assign(e, t);
            if (n.startTime && n.endTime) {
                var i = Number.isFinite(n.startTime) ? n.startTime: new Date(n.startTime).getTime() / 1e3,
                a = Number.isFinite(n.endTime) ? n.endTime: new Date(n.endTime).getTime() / 1e3,
                r = window.diffTime || 0,
                s = function t() {
                    var e = parseInt((new Date).getTime() / 1e3) + r,
                    o = i - e;
                    if (n.timer && clearTimeout(n.timer), n.upTime) {
                        if (e >= i && e < a)"function" === typeof n.onStart && n.onStart(a - e, e);
                        else if (e >= a) {
                            if ("function" === typeof n.onEnd) return n.timer && clearTimeout(n.timer),
                            void n.onEnd(e)
                        } else n.onTime(o, e);
                        n.timer = setTimeout((function() {
                            t()
                        }), 1e3)
                    } else e >= i && e < a ? "function" === typeof n.onStart && n.onStart(e) : e >= a ? "function" === typeof n.onEnd && n.onEnd(e) : (n.onTime(o), n.timer = setTimeout((function() {
                        e += 1,
                        t()
                    }), 1e3))
                };
                return window.servertime ? s() : Object(o["a"])(s),
                {
                    onDestory: function() {
                        n.timer && clearTimeout(n.timer)
                    }
                }
            }
        };
        e["a"] = i
    },
    a417: function(t, e, n) {
        "use strict";
        var o = {
            orderSite: "//order.mi.com",
            orderApiSite: "//api.order.mi.com",
            cnOrderApi: "//cn.orderapi.mi.com",
            wwwSite: "//www.mi.com",
            oldWwwSite: "//www.mi.com",
            cartSite: "//cart.mi.com",
            itemSite: "//item.mi.com",
            assetsSite: "//s01.mifile.cn",
            listSite: "//list.mi.com",
            searchSite: "//search.mi.com",
            mySite: "//my.mi.com",
            damiaoSite: "//tp.hd.mi.com/",
            logoutUrl: "//order.mi.com/site/logout",
            staticSite: "//static.mi.com",
            hdiSite: "//i.huodong.mi.com",
            hdiProxy: "//i.huodong.mi.com/user/proxy/stop/1",
            hdaSite: "//a.huodong.mi.com",
            hdiLogin: "//i.huodong.mi.com/site/login?redirectUrl=" + encodeURI(location.href),
            orderProxy: "//order.mi.com/user/proxy/stop/1",
            orderLogin: "//order.mi.com/site/login?redirectUrl=" + encodeURI(location.href),
            quickLoginUrl: "https://account.xiaomi.com/pass/static/login.html",
            accountSite: "//account.xiaomi.com",
            searchApiSite: "//api.search.mi.com",
            hdInfo: "//tp.hd.mi.com/hdinfo/cn",
            hdGet: "//tp.hd.mi.com/hdget/cn",
            orderApi: "https://api2.order.mi.com",
            serviceApi: "https://api2.service.order.mi.com",
            serviceUrl: "//service.order.mi.com",
            recommendSite: "//rec.www.mi.com",
            productFileSite: "https://cdn.cnbj1.fds.api.mi-img.com/product-images",
            mSite: "https://m.mi.com"
        },
        i = {
            orderSite: "//order.mi.com",
            orderApiSite: "//api.order.mi.com",
            cnOrderApi: "//cn.orderapi.mi.com",
            wwwSite: "//pc.pre.mi.com",
            oldWwwSite: "//www.mi.com",
            cartSite: "//cart.mi.com",
            itemSite: "//item.mi.com",
            assetsSite: "//s01.mifile.cn",
            listSite: "//list.mi.com",
            searchSite: "//search.mi.com",
            mySite: "//my.mi.com",
            damiaoSite: "//tp.hd.mi.com/",
            logoutUrl: "//order.mi.com/site/logout",
            staticSite: "//static.mi.com",
            hdiSite: "//i.huodong.mi.com",
            hdiProxy: "//i.huodong.mi.com/user/proxy/stop/1",
            hdaSite: "//a.huodong.mi.com",
            hdiLogin: "//i.huodong.mi.com/site/login?redirectUrl=" + encodeURI(location.href),
            orderProxy: "//order.mi.com/user/proxy/stop/1",
            orderLogin: "//order.mi.com/site/login?redirectUrl=" + encodeURI(location.href),
            quickLoginUrl: "https://account.xiaomi.com/pass/static/login.html",
            accountSite: "//account.xiaomi.com",
            searchApiSite: "//api.search.mi.com",
            hdInfo: "//tp.hd.mi.com/hdinfo/cn",
            hdGet: "//tp.hd.mi.com/hdget/cn",
            orderApi: "http://pc.order.pre.order.mi.com",
            serviceApi: "http://pc.service.pre.order.mi.com",
            serviceUrl: "http://service.order.mi.com",
            recommendSite: "//rec.www.mi.com",
            productFileSite: "https://cdn.cnbj1.fds.api.mi-img.com/product-images",
            mSite: "http://m.mi.com"
        },
        a = {
            orderSite: "//order.test.mi.com",
            orderApiSite: "//api-order.test.mi.com",
            cnOrderApi: "//cn-orderapi.test.mi.com",
            wwwSite: "//pc.test.mi.com",
            oldWwwSite: "//www.test.mi.com",
            cartSite: "//cart.test.mi.com",
            itemSite: "//item.test.mi.com",
            assetsSite: "//assets.test.mi.com",
            listSite: "//list.test.mi.com",
            searchSite: "//search.test.mi.com",
            mySite: "//my.test.mi.com",
            damiaoSite: "//tp-hd.test.mi.com",
            logoutUrl: "//order.test.mi.com/site/logout",
            staticSite: "//static.test.mi.com",
            hdiSite: "//i-huodong.test.mi.com",
            hdiProxy: "//i-huodong.test.mi.com/user/proxy/stop/1",
            hdaSite: "//a-huodong.test.mi.com",
            hdiLogin: "//i-huodong.test.mi.com/site/login?redirectUrl=" + encodeURI(location.href),
            orderProxy: "//order.test.mi.com/user/proxy/stop/1",
            orderLogin: "//order.test.mi.com/site/login?redirectUrl=" + encodeURI(location.href),
            quickLoginUrl: "https://account.xiaomi.com/pass/static/login.html",
            accountSite: "//account.preview.n.xiaomi.net",
            searchApiSite: "//api-search.test.mi.com",
            hdInfo: "//tp-hd.test.mi.com/hdinfo/cn",
            hdGet: "//tp-hd.test.mi.com/hdget/cn",
            orderApi: "http://pc.order.test.mi.com",
            serviceApi: "http://pc.service.test.mi.com",
            serviceUrl: "http://service.order.test.mi.com",
            recommendSite: "//rec.www.mi.com",
            productFileSite: "https://cnbj1-fds.api.xiaomi.net/product-images-pre",
            mSite: "http://m.test.mi.com"
        },
        r = /test\.mi\.com/.test(window.location.host),
        s = /pre\.mi\.com/.test(window.location.host),
        c = /www\.mi\.com/.test(window.location.host),
        u = /^mock\./.test(window.location.host),
        l = {};
        if (u) for (var d in a) l[d] = "http://mock.be.mi.com/mock/502";
        var m = {
            host: u ? l: r ? a: s ? i: o,
            time: "//time.hd.mi.com/gettimestamp",
            productFileSite: r ? a.productFileSite: s ? i.productFileSite: o.productFileSite,
            isTest: r,
            isPre: s,
            isPro: c
        };
        e["a"] = m
    },
    bc47: function(t, e, n) {
        "use strict";
        var o = document.addEventListener,
        i = function(t, e, n, o) {
            t && t.addEventListener(e, n, void 0 !== o && o)
        },
        a = function(t, e, n) {
            t && t.attachEvent("on" + e, n)
        };
        e["a"] = o ? i: a
    },
    c474: function(t, e, n) {},
    d4c3: function(t, e, n) {
        "use strict";
        n("8c21")
    },
    e3d1: function(t, e, n) { (function(o) {
            var i; (function() {
                var a, r = this;
                if (!a && r.crypto && crypto.getRandomValues) {
                    var s = new Uint8Array(16);
                    a = function() {
                        return crypto.getRandomValues(s),
                        s
                    }
                }
                if (!a) {
                    var c = new Array(16);
                    a = function() {
                        for (var t, e = 0; e < 16; e++) 0 === (3 & e) && (t = 4294967296 * Math.random()),
                        c[e] = t >>> ((3 & e) << 3) & 255;
                        return c
                    }
                }
                for (var u = "function" === typeof o ? o: Array, l = [], d = {},
                m = 0; m < 256; m++) l[m] = (m + 256).toString(16).substr(1),
                d[l[m]] = m;
                function f(t, e, n) {
                    var o = e && n || 0,
                    i = 0;
                    e = e || [],
                    t.toLowerCase().replace(/[0-9a-f]{2}/g, (function(t) {
                        i < 16 && (e[o + i++] = d[t])
                    }));
                    while (i < 16) e[o + i++] = 0;
                    return e
                }
                function p(t, e) {
                    var n = e || 0,
                    o = l;
                    return o[t[n++]] + o[t[n++]] + o[t[n++]] + o[t[n++]] + "-" + o[t[n++]] + o[t[n++]] + "-" + o[t[n++]] + o[t[n++]] + "-" + o[t[n++]] + o[t[n++]] + "-" + o[t[n++]] + o[t[n++]] + o[t[n++]] + o[t[n++]] + o[t[n++]] + o[t[n++]]
                }
                var h = a(),
                g = [1 | h[0], h[1], h[2], h[3], h[4], h[5]],
                v = 16383 & (h[6] << 8 | h[7]),
                b = 0,
                w = 0;
                function y(t, e, n) {
                    var o = e && n || 0,
                    i = e || [];
                    t = t || {};
                    var a = null != t.clockseq ? t.clockseq: v,
                    r = null != t.msecs ? t.msecs: (new Date).getTime(),
                    s = null != t.nsecs ? t.nsecs: w + 1,
                    c = r - b + (s - w) / 1e4;
                    if (c < 0 && null == t.clockseq && (a = a + 1 & 16383), (c < 0 || r > b) && null == t.nsecs && (s = 0), s >= 1e4) throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
                    b = r,
                    w = s,
                    v = a,
                    r += 122192928e5;
                    var u = (1e4 * (268435455 & r) + s) % 4294967296;
                    i[o++] = u >>> 24 & 255,
                    i[o++] = u >>> 16 & 255,
                    i[o++] = u >>> 8 & 255,
                    i[o++] = 255 & u;
                    var l = r / 4294967296 * 1e4 & 268435455;
                    i[o++] = l >>> 8 & 255,
                    i[o++] = 255 & l,
                    i[o++] = l >>> 24 & 15 | 16,
                    i[o++] = l >>> 16 & 255,
                    i[o++] = a >>> 8 | 128,
                    i[o++] = 255 & a;
                    for (var d = t.node || g,
                    m = 0; m < 6; m++) i[o + m] = d[m];
                    return e || p(i)
                }
                function _(t, e, n) {
                    var o = e && n || 0;
                    "string" === typeof t && (e = "binary" === t ? new u(16) : null, t = null),
                    t = t || {};
                    var i = t.random || (t.rng || a)();
                    if (i[6] = 15 & i[6] | 64, i[8] = 63 & i[8] | 128, e) for (var r = 0; r < 16; r++) e[o + r] = i[r];
                    return e || p(i)
                }
                var C = _;
                if (C.v1 = y, C.v4 = _, C.parse = f, C.unparse = p, C.BufferClass = u, r.define && n("3c35")) i = function() {
                    return C
                }.call(e, n, e, t),
                void 0 === i || (t.exports = i);
                else if (t.exports) t.exports = C;
                else {
                    var x = r.uuid;
                    C.noConflict = function() {
                        return r.uuid = x,
                        C
                    },
                    r.uuid = C
                }
            }).call(window)
        }).call(this, n("b639").Buffer)
    },
    eb0e: function(t, e, n) {
        "use strict";
        var o = n("2166"),
        i = function(t) {
            if (t) return new Promise((function(e, n) {
                o["a"].add(t).then((function(t) {
                    t && 200 == t.code && t.data ? e && e(t) : n && n(t)
                }), (function(t) {
                    n && n(t)
                }))
            }))
        },
        a = function(t) {
            if (t) return new Promise((function(e, n) {
                o["a"].multiAddCart(t).then((function(t) {
                    t && 200 == t.code && t.data ? e && e(t) : n && n(t)
                }), (function(t) {
                    n && n(t)
                }))
            }))
        };
        e["a"] = {
            addCart: i,
            multiAddCart: a
        }
    },
    efd9: function(t, e, n) {
        "use strict";
        var o = n("2ec8"),
        i = function(t) {
            if ("string" !== typeof t) throw "encodeHTML need a string as parameter";
            return t.replace(/\&/g, "&amp;").replace(/"/g, "&quot;").replace(/\</g, "&lt;").replace(/\>/g, "&gt;").replace(/\'/g, "&#39;").replace(/\u00A0/g, "&nbsp;").replace(/(\u0020|\u000B|\u2028|\u2029|\f)/g, "&#32;")
        },
        a = n("986e"),
        r = n("a417"),
        s = n("9dd2");
        function c(t, e) {
            var n = Object.keys(t);
            if (Object.getOwnPropertySymbols) {
                var o = Object.getOwnPropertySymbols(t);
                e && (o = o.filter((function(e) {
                    return Object.getOwnPropertyDescriptor(t, e).enumerable
                }))),
                n.push.apply(n, o)
            }
            return n
        }
        function u(t) {
            for (var e = 1; e < arguments.length; e++) {
                var n = null != arguments[e] ? arguments[e] : {};
                e % 2 ? c(Object(n), !0).forEach((function(e) {
                    l(t, e, n[e])
                })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : c(Object(n)).forEach((function(e) {
                    Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(n, e))
                }))
            }
            return t
        }
        function l(t, e, n) {
            return e in t ? Object.defineProperty(t, e, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : t[e] = n,
            t
        }
        function d(t) {
            return d = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ?
            function(t) {
                return typeof t
            }: function(t) {
                return t && "function" === typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol": typeof t
            },
            d(t)
        }
        var m = 0 == document.createElement("canvas").toDataURL("image/webp").indexOf("data:image/webp");
        e["a"] = {
            showContact: function(t) {
                s["a"].getMallConfig({
                    key: "service_chat_url"
                }).then((function(e) {
                    if (e && 200 == e.code && e.data) {
                        var n = {
                            key: "pc",
                            name: "小米客服"
                        };
                        n = Object.assign({},
                        n, t),
                        n.path = e.data[n.key],
                        t && (t.pids && (n.path += "&pids=" + t.pids), t.gids && (n.path += "&gids=" + t.gids));
                        var o = 510,
                        i = 790,
                        a = (window.screen.availHeight - i) / 2,
                        r = (window.screen.availWidth - o) / 2;
                        window.open(n.path, n.name, "top=".concat(a, ",left=").concat(r, ",height=").concat(i, ",width=").concat(o, ",status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=0,titlebar=no,ullscreen=no"))
                    }
                }))
            },
            getActionUrl: function(t) {
                if (!t || !t.type) return "";
                var e = "",
                n = t.path,
                o = t.default_line,
                i = t.goodsId,
                a = t.extra ? JSON.parse(t.extra) : {};
                switch (t.type) {
                case "product":
                case "plugin":
                    e = "".concat(r["a"].host.wwwSite, "/buy?product_id=").concat(n),
                    o && (e = "".concat(e, "&default_line=").concat(o)),
                    i && (e = "".concat(e, "&default_goodsId=").concat(i));
                    break;
                case "url":
                case "activity":
                    e = 0 == n.indexOf("#") ? "#J_nav_".concat(n.substring(1)) : n;
                    break;
                case "pc_activity":
                    e = "".concat(r["a"].host.wwwSite, "/a/h/").concat(n, ".html?sign=").concat(a.sign ? a.sign: "");
                    break;
                case "pc_channel":
                    e = "".concat(r["a"].host.wwwSite, "/p/").concat(n, ".html?sign=").concat(a.sign ? a.sign: "");
                    break;
                case "homepage":
                    e = "".concat(r["a"].host.wwwSite, "/index.html");
                    break;
                case "seckill":
                    e = "".concat(r["a"].host.wwwSite, "/buy/seckill");
                    break;
                case "keyword":
                    e = "".concat(r["a"].host.wwwSite, "/search?keyword=").concat(encodeURIComponent(n));
                    break
                }
                return e
            },
            formatImageHttp: function(t) {
                return t ? t.replace(/^http(s?):/i, "") : t
            },
            alertTip: function(t) {
                if (t) {
                    var e = {
                        desc: "",
                        msg: "",
                        isHideFoot: !1,
                        okText: "确定",
                        customClass: "",
                        width: "480px",
                        onShow: function() {},
                        onHide: function() {}
                    };
                    "string" === typeof t ? e.msg = t: "object" === d(t) && (e = u(u({},
                    e), t));
                    var n = a["a"].$dialog({
                        type: t.isHideFoot ? "plain": "alert",
                        isHideHeader: !0,
                        width: e.width,
                        dialogClass: "mi-dialog-alert ".concat(e.customClass),
                        content: '<div class="alert-desc">'.concat(i(e.desc), '</div><div class="alert-msg">').concat(i(e.msg), "</div>"),
                        okText: i(e.okText),
                        ok: function() {},
                        opened: function() {
                            e.onShow && e.onShow()
                        },
                        closed: function() {
                            e.onHide && e.onHide()
                        }
                    });
                    return n
                }
            },
            confirmTip: function(t) {
                var e = {
                    title: "",
                    desc: "",
                    msg: "",
                    width: "480px",
                    customClass: "",
                    okText: "确定",
                    cancelText: "取消",
                    hideModal: !0,
                    onOk: function() {},
                    onCancel: function() {}
                };
                e = u(u({},
                e), t);
                var n = a["a"].$dialog({
                    type: "confirm",
                    isHideHeader: !0,
                    width: e.width,
                    dialogClass: "mi-dialog-alert ".concat(e.customClass),
                    content: '<div class="confirm-msg"><h3>'.concat(i(e.title), "</h3><div >").concat(i(e.desc), "</div><div >").concat(i(e.msg), "</div></div>"),
                    okText: i(e.okText),
                    cancelText: i(e.cancelText),
                    ok: function() {
                        e.hideModal && n.hide(),
                        e.onOk && e.onOk()
                    },
                    cancel: function() {
                        e.onCancel && e.onCancel()
                    }
                });
                return n
            },
            checkLoginStatus: function() {
                return ! (!Object(o["a"])("cUserId") && !Object(o["a"])("userId"))
            },
            setProxy: function(t) {
                var e, n = document.createElement("iframe");
                n.name = "Mi".concat(t.name || "_iframe"),
                n.style.cssText = "width:0px;height:0px;border:0px;overflow:hidden;position:absolute;top:-1000px",
                n.onload = n.onerror = function() {
                    n.onerror = n.onload = null,
                    window.clearTimeout(e),
                    t.callback && t.callback(),
                    n.parentNode.removeChild(n)
                },
                e = setTimeout((function() {
                    t.callback && t.callback()
                }), 5e3),
                n.src = t.url,
                document.body.appendChild(n)
            },
            colorRgb: function(t, e) {
                var n = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/,
                o = t.toLowerCase();
                if (o && n.test(o)) {
                    if (4 === o.length) {
                        for (var i = "#",
                        a = 1; a < 4; a += 1) i += o.slice(a, a + 1).concat(o.slice(a, a + 1));
                        o = i
                    }
                    var r = [];
                    for (a = 1; a < 7; a += 2) r.push(parseInt("0x".concat(o.slice(a, a + 2))));
                    return "rgba(".concat(r.join(","), ", ").concat(e, ")")
                }
                return o
            },
            formatImageSize: function(t) {
                var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 80,
                n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 80;
                if (t && e && n) {
                    var o = window.devicePixelRatio || 1,
                    i = /mi\-img\.com/.test(t),
                    a = /mifile\.cn/.test(t),
                    r = /cdn\.cnbj1\.fds\.api\.mi\-img\.com/.test(t),
                    s = t.split("?")[0],
                    c = "",
                    u = Math.round(e * o),
                    l = Math.round(n * o);
                    if (i) c = "".concat(s, "?thumb=1&w=").concat(u, "&h=").concat(l);
                    else if (a) {
                        var d = s.substr(s.lastIndexOf(".") + 1),
                        f = s.substr(0, s.lastIndexOf("."));
                        c = "".concat(f, "!").concat(u, "x").concat(l, ".").concat(d)
                    } else c = t;
                    return m && r && (c += "&f=webp&q=90"),
                    c
                }
            }
        }
    },
    f644: function(t, e, n) {
        "use strict";
        n.r(e);
        n("341d");
        var o = n("91bf"),
        i = n("8854"),
        a = (n("6056"), n("a417")),
        r = n("2166"),
        s = n("2ec8"),
        c = n("986e"),
        u = function(t, e) {
            var n = {
                Dom: {},
                objs: {},
                timeoutHideCart: null,
                timeoutShowCart: null,
                domEvtFuns: {
                    showMiniCartList: function() {
                        n.timeoutHideCart && clearTimeout(n.timeoutHideCart);
                        var t = n.Dom.$miniCartTrigger.classList.contains("topbar-cart-active");
                        t || (n.Dom.$miniCartTrigger.classList.add("topbar-cart-active"), n.Dom.$miniCartMenu.style.height = n.Dom.$miniCartMenu.scrollHeight + "px", n.timeoutShowCart = setTimeout((function() {
                            n.getCartGoods()
                        }), 300))
                    },
                    hideMiniCartList: function() {
                        n.timeoutShowCart && clearTimeout(n.timeoutShowCart),
                        n.Dom.$miniCartMenu.style.height = n.Dom.$miniCartMenu.scrollHeight + "px",
                        n.timeoutHideCart = setTimeout((function() {
                            n.Dom.$miniCartMenu.style.height = 0,
                            setTimeout((function() {
                                n.Dom.$miniCartTrigger.classList.remove("topbar-cart-active"),
                                n.Dom.$miniCartList.classList.add("hide"),
                                n.Dom.$miniCartListTotal.classList.add("hide"),
                                n.Dom.$miniCartMenu.querySelector(".msg-error").textContent = "",
                                n.Dom.$miniCartMenu.querySelector(".msg-error").classList.add("hide"),
                                n.Dom.$miniCartMenu.querySelector(".msg-empty").classList.add("hide"),
                                n.Dom.$miniCartMenu.querySelector(".loading").classList.remove("hide")
                            }), 300)
                        }), 200)
                    },
                    checkDeleteGoods: function(e) {
                        var o = e.target.parentNode;
                        if (o.classList.contains("J_delItem")) {
                            var i = o.getAttribute("data-gid"),
                            a = o.getAttribute("data-isbigtap");
                            i && ("true" !== a ? n.deleteGoods(i) : t.confirmTip({
                                title: "您正在删除开放购买活动商品!",
                                msg: "删除后您失去本次开放购买资格，无法下单购买此商品。<br>确认删除此商品吗？",
                                onOk: function() {
                                    n.deleteGoods(i)
                                }
                            }))
                        }
                    }
                },
                updateMiniCartNum: function() {
                    Object(s["a"])("xm_user_cart_num"),
                    Object(s["a"])("userId");
                    var t = Object(s["a"])("xm_user_www_num");
                    Number(t) > 0 ? (n.Dom.$cartNum.textContent = "（" + t + "）", n.Dom.$miniCartTrigger.classList.add("topbar-cart-filled"), n.Dom.$miniCartTrigger.querySelector(".iconfont-cart-full").classList.remove("hide"), n.Dom.$miniCartTrigger.querySelector(".iconfont-cart").classList.add("hide")) : (n.Dom.$cartNum.textContent = "（0）", n.Dom.$miniCartTrigger.classList.remove("topbar-cart-filled"), n.Dom.$miniCartTrigger.querySelector(".iconfont-cart-full").classList.add("hide"), n.Dom.$miniCartTrigger.querySelector(".iconfont-cart").classList.remove("hide")),
                    c["a"].$emit("updateToolBarCartNum")
                },
                getCartGoods: function() {
                    r["a"].getMiniCartList({},
                    {
                        param: "jsonpcallback"
                    }).then((function(t) {
                        if (n.Dom.$miniCartMenu.querySelector(".loading").classList.add("hide"), n.Dom.$miniCartListTotal.classList.add("hide"), n.Dom.$miniCartList.classList.add("hide"), 200 === t.code) {
                            if (t.data.totalItem > 0) {
                                var e = "",
                                o = "",
                                i = "",
                                r = "",
                                c = "",
                                u = 81;
                                t.data.totalItem > 5 ? (n.Dom.$miniCartList.style = "overflow-x:hidden; overflow-y:scroll;", n.Dom.$miniCartList.style.height = 5 * u + u / 2 + "px") : n.Dom.$miniCartList.style.height = "auto",
                                t.data.items.forEach((function(t, n) {
                                    o = t.imageUrl ? '<img alt="" src="' + t.imageUrl.replace(/^http(s?):/i, "") + '?width=60&height=60">': '<img alt="" src="//i1.mifile.cn/f/i/2014/cn/placeholder-80.png">',
                                    t.isCos ? (i = " is-cos", r = "暂时缺货") : (i = "", r = t.salePrice + "元 × " + t.num),
                                    0 === n && (i += " first"),
                                    c = 0 !== t.noLink ? "javascript:void(0);": a["a"].host.wwwSite + "/buy?product_id=" + t.productId,
                                    t.typeName && (t.productName = '<span class="tag">【' + t.typeName + "】</span>" + t.productName),
                                    e += '<li><div class="cart-item clearfix' + i + '"><a class="thumb" href="' + c + '">' + o + '</a><a class="name" href="' + c + '">' + t.productName + '</a><span class="price">' + r + '</span><a class="btn-del J_delItem" href="javascript: void(0);" data-gid="' + t.itemId + '" data-isBigtap="' + t.isBigtap + '"><em class="iconfont-close"></em></a></div></li>'
                                })),
                                n.Dom.$miniCartListTotal && (n.Dom.$miniCartListTotal.innerHTML = '<span class="total">共 <em>' + t.data.total + '</em> 件商品<span class="price"><em>' + t.data.totalPrice + '</em>元</span></span><a href="' + a["a"].host.wwwSite + '/buy/cart" class="btn btn-primary btn-cart">去购物车结算</a>', n.Dom.$miniCartListTotal.classList.remove("hide")),
                                n.Dom.$miniCartMenu.style.height = "auto",
                                n.Dom.$miniCartList.innerHTML = e,
                                n.Dom.$miniCartList.classList.remove("hide")
                            } else n.Dom.$miniCartMenu.querySelector(".msg-empty").classList.remove("hide");
                            Object(s["a"])("xm_user_www_num", t.data.total, {
                                domain: "mi.com"
                            }),
                            n.updateMiniCartNum()
                        } else n.Dom.$miniCartMenu.querySelector(".msg-error").textContent = t.msg,
                        n.Dom.$miniCartMenu.querySelector(".msg-error").classList.remove("hide")
                    })),
                    n.updateMiniCartNum()
                },
                deleteGoods: function(e) {
                    r["a"].delete({
                        gid: e
                    },
                    {
                        param: "jsonpcallback"
                    }).then((function(e) {
                        200 === e.code ? n.getCartGoods() : t.alertTip(e.msg)
                    }))
                }
            },
            i = function() {},
            u = function() {
                n.Dom.$cartNum = document.querySelector(".J_cartNum"),
                n.Dom.$miniCartTrigger = document.querySelector("#J_miniCartTrigger"),
                n.Dom.$miniCartMenu = document.querySelector("#J_miniCartMenu"),
                n.Dom.$miniCartList = n.Dom.$miniCartMenu.querySelector("#J_miniCartList"),
                n.Dom.$miniCartListTotal = n.Dom.$miniCartMenu.querySelector("#J_miniCartListTotal")
            },
            l = function() {},
            d = function() {
                o["a"].addEvt(n.Dom.$miniCartTrigger, "mouseenter", n.domEvtFuns.showMiniCartList),
                o["a"].addEvt(n.Dom.$miniCartTrigger, "mouseleave", n.domEvtFuns.hideMiniCartList),
                o["a"].addEvt(n.Dom.$miniCartList, "click", n.domEvtFuns.checkDeleteGoods),
                n.updateMiniCartNum()
            },
            m = function() {
                if (n) {
                    for (var t in n.objs) {
                        var e = n.objs[t];
                        e && e.destroy && e.destroy()
                    }
                    n = null
                }
            },
            f = function() {
                i(),
                u(),
                l(),
                d()
            };
            return f(),
            {
                destroy: m
            }
        };
        n("4de9");
        function l(t) {
            return l = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ?
            function(t) {
                return typeof t
            }: function(t) {
                return t && "function" === typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol": typeof t
            },
            l(t)
        }
        function d(t) {
            var e = document.documentElement,
            n = {
                top: 0,
                left: 0
            };
            return l(t.getBoundingClientRect) !== void 0 + "" && (n = t.getBoundingClientRect()),
            {
                top: n.top + (window.pageYOffset || e.scrollTop) - (e.clientTop || 0),
                left: n.left + (window.pageXOffset || e.scrollLeft) - (e.clientLeft || 0)
            }
        }
        var m = d,
        f = n("bc47");
        function p(t) {
            var e, n, o, i = null,
            a = [],
            r = null,
            s = null,
            c = 3,
            u = 300,
            l = function() {};
            if (n = {
                menuElm: null,
                rowSelector: "li.category-item",
                submenuSelector: "*",
                submenuDirection: "right",
                tolerance: 75,
                enter: l,
                exit: l,
                activate: l,
                deactivate: l,
                exitMenu: l
            },
            o = Object.assign({},
            n, t), e = o.menuElm, !e) throw "no menu element";
            function d(t) {
                a.push({
                    x: t.pageX,
                    y: t.pageY
                }),
                a.length > c && a.shift()
            }
            function p() {
                s && clearTimeout(s),
                o.exitMenu(this) && (i && o.deactivate(i), i = null)
            }
            function h() {
                s && clearTimeout(s),
                o.enter(this),
                b(this)
            }
            function g() {
                o.exit(this)
            }
            function v(t) {
                t !== i && (i && o.deactivate(i), o.activate(t), i = t)
            }
            function b(t) {
                var e = w();
                e ? s = setTimeout((function() {
                    b(t)
                }), e) : v(t)
            }
            function w() {
                if (!i || !i.matches(o.submenuSelector)) return 0;
                var t = m(e),
                n = {
                    width: e.offsetWidth,
                    height: e.offsetHeight
                },
                s = {
                    x: t.left,
                    y: t.top - o.tolerance
                },
                c = {
                    x: t.left + n.width,
                    y: s.y
                },
                l = {
                    x: t.left,
                    y: t.top + n.height + o.tolerance
                },
                d = {
                    x: t.left + n.width,
                    y: l.y
                },
                f = a[a.length - 1],
                p = a[0];
                if (!f) return 0;
                if (p || (p = f), p.x < t.left || p.x > d.x || p.y < t.top || p.y > d.y) return 0;
                if (r && f.x === r.x && f.y === r.y) return 0;
                function h(t, e) {
                    return (e.y - t.y) / (e.x - t.x)
                }
                var g = c,
                v = d;
                "left" === o.submenuDirection ? (g = l, v = s) : "below" === o.submenuDirection ? (g = d, v = l) : "above" === o.submenuDirection && (g = s, v = c);
                var b = h(f, g),
                w = h(f, v),
                y = h(p, g),
                _ = h(p, v);
                return b < y && w > _ ? (r = f, u) : (r = null, 0)
            }
            var y = e.querySelectorAll(o.rowSelector);
            Object(f["a"])(e, "mouseleave", p),
            y && y.length && y.forEach((function(t) {
                Object(f["a"])(t, "mouseenter", h),
                Object(f["a"])(t, "mouseleave", g),
                Object(f["a"])(t, "click", (function(t) {
                    v(t.target.parentNode)
                }))
            })),
            Object(f["a"])(document, "mousemove", d)
        }
        var h = p,
        g = function(t, e) {
            var n = {
                Dom: {},
                objs: {},
                timeoutNav: null,
                timeoutNavShow: null,
                timeoutMiniCart: null,
                domEvtFuns: {
                    menuEvent: {
                        mouseenter: function() {
                            n.Dom.$navCategory.classList.add("nav-category-active"),
                            n.Dom.$searchInput.blur(),
                            n.Dom.$homeMenu.parentNode.style.display = "block"
                        },
                        mouseleave: function() {
                            n.Dom.$navCategory.classList.remove("nav-category-active"),
                            n.Dom.$homeMenu.parentNode.style.display = "none"
                        }
                    }
                }
            },
            i = function() {},
            a = function() {
                n.Dom.$homeMenu = document.querySelector("#J_categoryList"),
                n.Dom.$homeMenu && (n.Dom.$navCategory = document.querySelector("#J_navCategory"), n.Dom.$homeMenuItems = n.Dom.$homeMenu.querySelectorAll("li.category-item"), n.Dom.$searchForm = document.querySelector("#J_searchForm"), n.Dom.$searchInput = n.Dom.$searchForm.querySelector("#search"))
            },
            r = function() {
                n.Dom.$homeMenuItems && n.Dom.$homeMenuItems.forEach((function(t) {
                    var e, n = t.querySelector(".children"),
                    o = n && t.querySelector(".children-list") || null,
                    i = o && o.querySelectorAll("li") || [];
                    n && (n.classList.add("children-col-" + Math.ceil(i.length / 6)), i.length > 6 && (e = document.createDocumentFragment(), i.forEach((function(t, n) {
                        if (n % 6 === 0) {
                            var o = document.createElement("ul");
                            o.className = "children-list children-list-col children-list-col-" + Math.ceil((n + 1) / 6),
                            e.appendChild(o)
                        }
                        e.querySelector(".children-list-col-" + Math.ceil((n + 1) / 6)).appendChild(t)
                    })), n.innerHTML = "", n.appendChild(e)))
                })),
                h({
                    menuElm: n.Dom.$homeMenu,
                    activate: function(e) {
                        if (e) {
                            e.classList.add("category-item-active");
                            var n = e.querySelectorAll("img");
                            n.forEach((function(e) {
                                if (e.getAttribute("data-src")) {
                                    var n = e.getAttribute("data-src").replace(/^http(s?):/i, ""),
                                    o = t.formatImageSize(n, 40, 40);
                                    e.setAttribute("src", o),
                                    e.removeAttribute("data-src")
                                }
                            }))
                        }
                    },
                    deactivate: function(t) {
                        t.classList.remove("category-item-active")
                    },
                    exitMenu: function() {
                        return ! 0
                    }
                })
            },
            s = function() {
                "undefined" !== typeof IsCategoryToggled && "toggled" === IsCategoryToggled ? (n.Dom.$homeMenu.parentNode.style.display = "block", n.Dom.$homeMenu.classList.add("site-category-list-custom")) : (o["a"].addEvt(n.Dom.$navCategory, "mouseenter", n.domEvtFuns.menuEvent.mouseenter), o["a"].addEvt(n.Dom.$navCategory, "mouseleave", n.domEvtFuns.menuEvent.mouseleave))
            },
            c = function() {
                if (n) {
                    for (var t in n.objs) {
                        var e = n.objs[t];
                        e && e.destroy && e.destroy()
                    }
                    n = null
                }
            },
            u = function() {
                i(),
                a(),
                r(),
                s()
            };
            return u(),
            {
                destroy: c
            }
        },
        v = (n("3c4d"),
        function(t, e) {
            var n = {
                Dom: {},
                objs: {},
                timeoutNav: null,
                timeoutNavShow: null,
                domEvtFuns: {
                    slideUp: function(t, e) {
                        t.classList.remove("slide-down"),
                        t.classList.add("slide-up"),
                        o["a"].addEvt(t, "transitionend", (function() {
                            t.classList.contains("slide-up") && (t.style.display = "none", "function" == typeof e && e())
                        }))
                    },
                    slideDown: function(t, e) {
                        t.style.display = "block",
                        setTimeout((function() {
                            t.classList.remove("slide-up"),
                            t.classList.add("slide-down")
                        }), 50)
                    },
                    navMenuEvent: {
                        mouseenter: function() {
                            n.timeoutNav && (clearTimeout(n.timeoutNav), n.timeoutNav = null)
                        },
                        mouseleave: function() {
                            n.timeoutNav = setTimeout((function() {
                                n.Dom.$navMainList.getAttribute("data-toggled") || n.domEvtFuns.slideUp(n.Dom.$navMenu)
                            }), 200)
                        }
                    },
                    navMenuItemEvent: {
                        mouseenter: function(e) {
                            var o = e.target;
                            if (o.classList.contains("nav-item")) if (n.timeoutNav && (clearTimeout(n.timeoutNav), n.timeoutNav = null), n.Dom.$navMainList.setAttribute("data-toggled", "true"), o.classList.add("nav-item-active"), o.querySelectorAll(".children-list").length) {
                                o.querySelector(".children-list").querySelectorAll("img").forEach((function(e) {
                                    if (e.getAttribute("data-src")) {
                                        var n = e.getAttribute("data-src").replace(/^http(s?):/i, ""),
                                        o = t.formatImageSize(n, 160, 110);
                                        e.setAttribute("src", o),
                                        e.removeAttribute("data-src")
                                    }
                                }));
                                var i = "",
                                a = o.querySelector(".children-list");
                                i = a.cloneNode(!0),
                                n.Dom.$navMenuContainer.innerHTML = "",
                                n.Dom.$navMenuContainer.appendChild(i),
                                n.Dom.$navMainList.getAttribute("data-toggled") && (n.Dom.$searchInput.blur(), n.timeoutNavShow = setTimeout((function() {
                                    n.domEvtFuns.slideDown(n.Dom.$navMenu),
                                    n.Dom.$navMenu.classList.add("header-nav-menu-active")
                                }), 200))
                            } else n.domEvtFuns.slideUp(n.Dom.$navMenu, (function() {
                                n.Dom.$navMenu.classList.remove("header-nav-menu-active")
                            }))
                        },
                        mouseleave: function(t) {
                            var e = t.target;
                            e.classList.contains("nav-item") && (n.timeoutNavShow && (clearTimeout(n.timeoutNavShow), n.timeoutNavShow = null), n.Dom.$navMainList.removeAttribute("data-toggled"), e.classList.remove("nav-item-active"), n.timeoutNav = setTimeout((function() {
                                n.Dom.$navMainList.getAttribute("data-toggled") || n.domEvtFuns.slideUp(n.Dom.$navMenu)
                            }), 200))
                        }
                    }
                }
            },
            i = function() {},
            a = function() {
                n.Dom.$navMainList = document.querySelector(".J_navMainList"),
                n.Dom.$navMainListItem = n.Dom.$navMainList.querySelectorAll("li.nav-item"),
                n.Dom.$navMenu = document.querySelector("#J_navMenu"),
                n.Dom.$navMenuContainer = n.Dom.$navMenu.querySelector(".container"),
                n.Dom.$searchForm = document.querySelector("#J_searchForm"),
                n.Dom.$searchInput = n.Dom.$searchForm.querySelector("#search")
            },
            r = function() {},
            s = function() {
                o["a"].addEvt(n.Dom.$navMenu, "mouseenter", n.domEvtFuns.navMenuEvent.mouseenter),
                o["a"].addEvt(n.Dom.$navMenu, "mouseleave", n.domEvtFuns.navMenuEvent.mouseleave),
                n.Dom.$navMainListItem.forEach((function(t) {
                    o["a"].addEvt(t, "mouseenter", n.domEvtFuns.navMenuItemEvent.mouseenter),
                    o["a"].addEvt(t, "mouseleave", n.domEvtFuns.navMenuItemEvent.mouseleave)
                }))
            },
            c = function() {
                if (n) {
                    for (var t in n.objs) {
                        var e = n.objs[t];
                        e && e.destroy && e.destroy()
                    }
                    n = null
                }
            },
            u = function() {
                i(),
                a(),
                r(),
                s()
            };
            return u(),
            {
                destroy: c
            }
        }),
        b = (n("8241"), n("fe6a")),
        w = n("314b"),
        y = n("efd9"),
        _ = n("8f03"),
        C = function(t, e) {
            var n = {
                Dom: {},
                objs: {},
                searchRecommendList: [],
                searchBoxList: [],
                timeoutBox: null,
                timeoutSearch: null,
                timeoutSearchTip: null,
                domEvtFuns: {
                    fadeOut: function(t) {
                        t.classList.remove("fade-in"),
                        t.classList.add("fade-out"),
                        o["a"].addEvt(t, "transitionend", (function() {
                            t.classList.contains("fade-out") && (t.style.display = "none")
                        }))
                    },
                    fadeIn: function(t) {
                        t.style.display = "block",
                        setTimeout((function() {
                            t.classList.remove("fade-out"),
                            t.classList.add("fade-in")
                        }), 10)
                    },
                    focusMove: function(t) {
                        var e = n.Dom.$keywordList.querySelectorAll("li"),
                        o = -1,
                        i = e.length - 1;
                        if (e.forEach((function(t, e) {
                            t.classList.contains("active") && (o = e)
                        })), 38 === t) {
                            if (o -= 1, o < 0) return o = 0,
                            !1
                        } else if (40 === t && (o += 1, o > i)) return o = i,
                        !1;
                        o < 0 || (e.forEach((function(t, e) {
                            e === o ? t.classList.add("active") : t.classList.remove("active")
                        })), n.Dom.$searchInput.value = e[o].getAttribute("data-key"))
                    },
                    searchFormSubmit: function(t) {
                        t.preventDefault();
                        var e = n.Dom.$searchInput.value.trim();
                        if (e && "" !== e) n.Dom.$submitBtn.dataset && (n.Dom.$submitBtn.dataset.log_code = "bpm=28.265.3682763.1&cdm=0.0.0.0&next=28.265&query=" + encodeURI(e), Object(_["a"])(n.Dom.$submitBtn, !0)),
                        e = Object(w["a"])(e),
                        window.location.href = a["a"].host.wwwSite + "/search?keyword=" + encodeURIComponent(e);
                        else {
                            Object(_["a"])(n.Dom.$submitBtn, !0);
                            var o = JSON.parse(n.Dom.$searchInput["data-keyword-config"]);
                            window.location.href = y["a"].getActionUrl(o.action) || a["a"].host.wwwSite + "/search?keyword=" + encodeURIComponent(o.search_title)
                        }
                        return ! 1
                    },
                    searchInputEvent: {
                        focus: function() {
                            n.timeoutSearch && clearTimeout(n.timeoutSearch);
                            var t = n.Dom.$searchInput.value.trim();
                            n.Dom.$searchForm.classList.add("search-form-focus"),
                            t || n.getSearchRecommend()
                        },
                        blur: function() {
                            n.Dom.$searchInput.value.trim();
                            n.timeoutSearch = setTimeout((function() {
                                n.Dom.$searchForm.classList.remove("search-form-focus"),
                                n.Dom.$keywordList.classList.add("hide")
                            }), 200)
                        },
                        keyup: function(t) {
                            var e = n.Dom.$searchInput.value.trim();
                            n.timeoutSearchTip && clearTimeout(n.timeoutSearchTip),
                            e || n.getSearchRecommend(),
                            13 != t.which && (40 !== t.which && 38 !== t.which && e ? n.timeoutSearchTip = setTimeout((function() {
                                n.getSearchTip(e)
                            }), 200) : n.domEvtFuns.focusMove(t.which))
                        }
                    }
                },
                getSearchDefaultConfig: function() {
                    var t = n.Dom.$searchInput.getAttribute("data-search-config").replace(/'/g, '"'),
                    e = t ? JSON.parse(t).defaultWords: [];
                    return e || []
                },
                getSearchRecommend: function() {
                    0 == n.searchRecommendList.length ? b["a"].getSearchRecommend({}).then((function(t) {
                        200 === t.code && (t.data && t.data.length > 0 ? (n.searchRecommendList = t.data, n.formatSearchRecommendList(n.searchRecommendList)) : (n.Dom.$keywordList.classList.add("hide"), n.Dom.$keywordList.querySelector(".result-list").innerHTML = ""))
                    })) : n.formatSearchRecommendList(n.searchRecommendList)
                },
                formatSearchRecommendList: function(t) {
                    var e = "";
                    t.forEach((function(t) {
                        t.desc && (e += '<li data-key="' + t.desc + '"><a data-log_code="' + t.logcode + '" href="' + a["a"].host.wwwSite + "/search?keyword=" + encodeURIComponent(t.desc) + '">' + t.desc + "</a></li>")
                    })),
                    n.Dom.$keywordList.classList.remove("hide"),
                    n.Dom.$keywordList.querySelector(".result-list").innerHTML = e,
                    window.statInit && window.statInit()
                },
                getSearchTip: function(t) {
                    t && b["a"].getSearchTip({
                        query: t,
                        page_index: 1
                    },
                    {
                        param: "jsonpcallback",
                        name: "xmsearch"
                    }).then((function(t) {
                        if (200 === t.code) if (t.data && t.data.list && t.data.list.length > 0) {
                            var e = [];
                            t.data.list.forEach((function(t) {
                                e.push({
                                    word: t.title,
                                    log_code: t.log_code
                                })
                            })),
                            n.formatKeywordList(e)
                        } else n.Dom.$keywordList.classList.add("hide"),
                        n.Dom.$keywordList.querySelector(".result-list").innerHTML = ""
                    }))
                },
                formatKeywordList: function(t) {
                    var e = "",
                    o = "",
                    i = n.Dom.$searchInput.value.trim();
                    t.forEach((function(t) {
                        o = t.word.replace(i, '<span class="keyword">' + i + "</span> "),
                        e += '<li data-key="' + t.word + '"><a data-log_code="' + t.log_code + '" href="' + a["a"].host.wwwSite + "/search?keyword=" + encodeURIComponent(t.word) + '">' + o + "</a></li>"
                    })),
                    n.Dom.$keywordList.classList.remove("hide"),
                    n.Dom.$keywordList.querySelector(".result-list").innerHTML = e,
                    window.statInit && window.statInit()
                },
                initDefaultData: function() {
                    b["a"].getSearchRecommend({}).then((function(t) {
                        200 === t.code && (t.data && t.data.length > 0 ? n.searchRecommendList = t.data: n.searchRecommendList = [])
                    })),
                    b["a"].getBoxRecommend({}).then((function(t) {
                        200 === t.code && (t.data && t.data.length > 0 ? (n.searchBoxList = t.data, n.initKeyWordTimer()) : n.searchBoxList = [])
                    }))
                },
                initKeyWordTimer: function() {
                    var t = n.searchBoxList.shift();
                    n.searchBoxList.push(t),
                    t.show_title && (n.Dom.$searchInput.placeholder = t.show_title || "", n.Dom.$submitBtn.dataset.log_code = t.log_code, n.Dom.$searchInput["data-keyword-config"] = JSON.stringify(t)),
                    n.searchBoxList.length > 1 && (n.timeoutBox = setInterval((function() {
                        var t = n.searchBoxList.shift();
                        n.searchBoxList.push(t),
                        n.Dom.$searchInput.placeholder = t.show_title || "",
                        n.Dom.$submitBtn.dataset.log_code = t.log_code,
                        n.Dom.$searchInput["data-keyword-config"] = JSON.stringify(t)
                    }), 6e3))
                },
                initBoxTimer: function() {
                    var t = n.searchBoxList.shift();
                    n.searchBoxList.push(t),
                    n.Dom.$searchHotWords.innerHTML = '<a data-log_code="' + (t.action && t.action.log_code) + '" href="' + (y["a"].getActionUrl(t.action) || a["a"].host.wwwSite + "/search?keyword=" + encodeURIComponent(t.search_title)) + '">' + t.show_title + "</a>",
                    window.statInit && window.statInit(),
                    n.searchBoxList.length > 1 && (n.timeoutBox = setInterval((function() {
                        var t = n.searchBoxList.shift();
                        n.searchBoxList.push(t),
                        n.Dom.$searchHotWords.innerHTML = '<a data-log_code="' + (t.action && t.action.log_code) + '" href="' + (y["a"].getActionUrl(t.action) || a["a"].host.wwwSite + "/search?keyword=" + encodeURIComponent(t.search_title)) + '">' + t.show_title + "</a>",
                        window.statInit && window.statInit()
                    }), 6e3))
                }
            },
            i = function() {},
            r = function() {
                n.Dom.$searchForm = document.querySelector("#J_searchForm"),
                n.Dom.$keywordList = document.querySelector("#J_keywordList"),
                n.Dom.$searchInput = n.Dom.$searchForm.querySelector("#search"),
                n.Dom.$searchHotWords = n.Dom.$searchForm.querySelector(".search-hot-words"),
                n.Dom.$submitBtn = document.querySelector("#J_submitBtn")
            },
            s = function() {
                n.initDefaultData()
            },
            c = function() {
                o["a"].addEvt(n.Dom.$searchForm, "submit", n.domEvtFuns.searchFormSubmit),
                o["a"].addEvt(n.Dom.$searchInput, "focus", n.domEvtFuns.searchInputEvent.focus),
                o["a"].addEvt(n.Dom.$searchInput, "blur", n.domEvtFuns.searchInputEvent.blur),
                o["a"].addEvt(n.Dom.$searchInput, "keyup", n.domEvtFuns.searchInputEvent.keyup)
            },
            u = function() {
                if (n) {
                    for (var t in n.objs) {
                        var e = n.objs[t];
                        e && e.destroy && e.destroy()
                    }
                    n = null
                }
            },
            l = function() {
                i(),
                r(),
                s(),
                c()
            };
            return l(),
            {
                destroy: u
            }
        };
        e["default"] = function(t, e) {
            var n = {
                Dom: {},
                objs: {},
                timeoutNav: null,
                timeoutNavShow: null,
                timeoutMiniCart: null,
                domEvtFuns: {
                    globalSiteDialog: function() {
                        var e = document.querySelector("#J_globalSiteLinks").innerHTML,
                        n = '<div><h3>Welcome to Mi.com</h3><p class="tips">Please select location or language</p><div class="links clearfix">' + e + "</div></div>";
                        t.$dialog({
                            title: "Select location or language",
                            width: "840px",
                            dialogClass: "site-select-regions",
                            contentData: "contentData",
                            content: n
                        })
                    },
                    downloadApp: {
                        mouseenter: function() {
                            n.Dom.$downLoadApp.classList.add("active")
                        },
                        mouseleave: function() {
                            n.Dom.$downLoadApp.classList.remove("active")
                        }
                    }
                }
            },
            a = function() {
                if (!e) throw "args el is needed."
            },
            r = function() {
                n.Dom.$globalRegion = document.querySelectorAll(".J_siteGlobalRegion"),
                n.Dom.$downLoadApp = document.querySelector("#J_siteDownloadApp")
            },
            s = function() {
                n.objs.setLoginInfo = Object(i["a"])(t),
                n.objs.miniCart = u(t),
                n.objs.category = g(t),
                n.objs.nav = v(t),
                n.objs.search = C()
            },
            c = function() {
                n.Dom.$globalRegion.forEach((function(t) {
                    o["a"].addEvt(t, "click", n.domEvtFuns.globalSiteDialog)
                })),
                o["a"].addEvt(n.Dom.$downLoadApp, "mouseenter", n.domEvtFuns.downloadApp.mouseenter),
                o["a"].addEvt(n.Dom.$downLoadApp, "mouseleave", n.domEvtFuns.downloadApp.mouseleave)
            },
            l = function() {
                if (n) {
                    for (var t in n.objs) {
                        var e = n.objs[t];
                        e && e.destroy && e.destroy()
                    }
                    n = null
                }
            },
            d = function() {
                a(),
                r(),
                s(),
                c()
            };
            return d(),
            {
                destroy: l
            }
        }
    },
    fe6a: function(t, e, n) {
        "use strict";
        var o = n("7f19"),
        i = n("a417"),
        a = n("751a");
        e["a"] = {
            getSearchTip: function(t, e) {
                return Object(o["a"])(i["a"].host.orderApi + "/search/query", t, e)
            },
            getSearchRecommend: function(t, e) {
                return Object(o["a"])(i["a"].host.orderApi + "/search/droplist", t, e)
            },
            getBoxRecommend: function(t, e) {
                return Object(o["a"])(i["a"].host.orderApi + "/search/box", t, e)
            },
            getMessage: function(t, e) {
                return Object(o["a"])(i["a"].host.serviceApi + "/msg/pick", t, e)
            },
            loginInit: function(t, e) {
                return Object(o["a"])("//userid.xiaomi.com/userId", t, e)
            },
            getAgreementInfo: function(t, e) {
                var n = i["a"].host.serviceApi,
                a = ["login", "register"];
                return t && t.action && a.includes(t.action) ? n += "/agreement/actioninfo": n += "/agreement/info",
                Object(o["a"])(n, t, e)
            },
            getPageContent: function(t, e) {
                return a["a"].get(i["a"].host.serviceApi + "/api/get_content", {
                    params: t
                },
                e)
            },
            sureAgreement: function(t, e) {
                return Object(o["a"])(i["a"].host.serviceApi + "/agreement/sign", t, e)
            },
            getUserName: function(t, e) {
                return a["a"].get("".concat(i["a"].host.serviceApi, "/user/userinfo"), t, e)
            }
        }
    },
    ffe8: function(t, e, n) {
        "use strict";
        var o = function(t) {
            var e, n = document.createElement("iframe");
            n.name = "Mi" + (t.name || "_iframe"),
            n.style.cssText = "width:0px;height:0px;border:0px;overflow:hidden;position:absolute;top:-1000px",
            n.onload = n.onerror = function() {
                n.onerror = n.onload = null,
                window.clearTimeout(e),
                t.callback && t.callback(),
                n.parentNode.removeChild(n)
            },
            e = setTimeout((function() {
                t.callback && t.callback()
            }), 5e3),
            n.src = t.url,
            document.body.appendChild(n)
        };
        e["a"] = o
    }
});
